XmlDocument.InnerText 新 .NET 的替代品
XmlDocument.InnerText Replacement for New .NET
我正在尝试将 XmlDocument
类型的对象转换为字符串。
在 Visual Studio 2010 年,所需要的只是根据文档 here.
调用 XmlDocument.InnerText
在新的 .NET 框架中 XmlDocument.InnerText
已停用,现在根据文档 here.
抛出异常
我会简单地使用 XmlDocument.InnerXml
因为这个 return 是一个字符串,尽管问题是字符串 returned 不包含任何 xml 文档格式(换行符、缩进等)。遗产 XmlDocument.InnerText
做到了 return 所有这一切。
看起来 XmlDocument.InnerText
仍然可用于节点和 XmlElements
,尽管我想知道将整个 XmlDocument
作为文本获取的最简单方法是什么。
您可以使用 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)
我正在尝试将 XmlDocument
类型的对象转换为字符串。
在 Visual Studio 2010 年,所需要的只是根据文档 here.
调用XmlDocument.InnerText
在新的 .NET 框架中 XmlDocument.InnerText
已停用,现在根据文档 here.
我会简单地使用 XmlDocument.InnerXml
因为这个 return 是一个字符串,尽管问题是字符串 returned 不包含任何 xml 文档格式(换行符、缩进等)。遗产 XmlDocument.InnerText
做到了 return 所有这一切。
看起来 XmlDocument.InnerText
仍然可用于节点和 XmlElements
,尽管我想知道将整个 XmlDocument
作为文本获取的最简单方法是什么。
您可以使用 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)