Замена XmlDocument.InnerText для нового.NET
Я пытаюсь преобразовать объект типа XmlDocument
в строку.
В Visual Studio 2010 все, что требовалось, это вызывать XmlDocument.InnerText
согласно документации здесь.
В новом.NET Framework XmlDocument.InnerText
был прекращен, и теперь выдает исключение согласно документации здесь.
Я бы просто использовал XmlDocument.InnerXml
так как это возвращает строку, хотя проблема в том, что возвращаемая строка не содержит форматирование документа XML (переводы строки, отступы и т. д.). Наследие XmlDocument.InnerText
вернул все это.
Это выглядит как XmlDocument.InnerText
все еще доступен для узлов и XmlElements
хотя мне интересно какой самый простой способ был бы получить весь XmlDocument
как текст
1 ответ
Решение
Вы можете сделать это с помощью StringWriter...
' build an XML document to test
Dim x As New System.Text.StringBuilder
With x
.AppendLine("<root>")
.AppendLine("<foo>bar</foo>")
.AppendLine("</root>")
End With
Dim d As New XmlDocument
d.LoadXml(x.ToString)
' create a stringwriter
Dim sw As New System.IO.StringWriter
' write the xml to the stringwriter
d.Save(sw)
' get the contents of the stringwriter with whitespace and line breaks preserved
Debug.WriteLine(sw.ToString)