xml - 如何使用 XmlNode() 作为 VB.NET 中 web 服务的结果?
问题描述
Web 服务只返回 XmlNode():
Dim nodes() As XmlNode = CType(result.handler, XmlNode())
首先,如何将此结果视为纯 xml(在 Visual Studio 中)?
然后,如何使用这个结果并从中导航/选择具体项目?
解决方案
首先,如何将此结果视为纯 xml(在 Visual Studio 中)?
您可以使用XmlNode.WriteTo(XmlWriter)
方法,使用XmlWriter
为写入StringBuilder
对象(文档)而创建的对象,例如:
Imports System.Text
Imports System.Xml
'[...]
Public Function NodesToString(nodes() As XmlNode) As String
Dim sb As New StringBuilder()
Dim settings As New XmlWriterSettings()
settings.ConformanceLevel = ConformanceLevel.Fragment
settings.Indent = True
Dim writer = XmlWriter.Create(sb, settings)
For Each node In nodes
node.WriteTo(writer)
Next
writer.Close()
Return sb.ToString()
End Function
之后,您的节点的所有内容都应该在您的StringBuilder
对象上,并且简单sb.ToString()
会向您显示所有内容。
然后,如何使用这个结果并从中导航/选择具体项目?
XmlNode
是库中很多元素的基类System.Xml
,甚至XmlDocument
还有XmlElement
类,所以有很多 XML“导航能力”。
如文档所述:
此类实现 W3C 文档对象模型 (DOM) 级别 1 核心和核心 DOM 级别 2。DOM 是 XML 文档的内存(缓存)树表示。
XmlNode
是 DOM 的 .NET 实现中的基类。它支持 XPath 选择并提供编辑功能。该类XmlDocument
扩展XmlNode
并表示一个 XML 文档。您可以使用它XmlDocument
来加载和保存 XML 数据。它还包括创建节点的方法。有关详细信息,请参阅XML 文档对象模型 (DOM)。
您可以使用这些属性或方法来浏览您的 XML 节点,例如:
XmlNode.FirstChild
财产XmlNode.NextSibling
财产XmlNode.CreateNavigator()
方法XmlNode.SelectNodes()
方法(使用 XPath 表达式)XmlNode.SelectSingleNode()
方法(使用 XPath 表达式)
推荐阅读
- c# - 如何将值发送回方法?
- java - Android/ Jsoup:如何解决编码问题
- php - CentOS 上的 PHP 7.4.10 错误:无法找到 gmp.h
- java - 运行可执行Jar时如何保持控制台打开?
- python - 量化的 TFLite 模型比 TF 模型提供更好的准确性
- python - 在 Gekko 中将两个函数与条件 (if) 开关结合起来
- gitlab - Gitlab 自托管企业版是免费的吗?
- git - 为什么大多数(不是全部)github 操作在 Raspberry Pi 上失败(443 连接被拒绝)?
- linux - 使用 diff -u 显示两个文件之间的差异
- glsl - GLSL-ES3(webGL2):如何从片段着色器测试扩展?