首页 > 解决方案 > 使用 XDocument 解析 XML - vb.net

问题描述

我可以使用 XDocument 从以下 xml 解析“节点”获得一些帮助吗?我想返回 xXMLNode 数组中每个“节点”的结果。几个小时后,我自己无法解决我的问题。

Public Structure xXMLNode
   Dim _name() As String
   Dim _value() As String
End Structure

Public Function XMLRead(_file As String) As xXMLNode()
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<root>
  <node>
    <Username>uknwn1447</Username>
    <Password>MineCraftXxghx</Password>
    <Enabled>YezSir</Enabled>
  </node>
  <node>
    <Username>loluu</Username>
    <Password>D4ddy</Password>
    <Enabled>N0pe</Enabled>
  </node>
</root>

标签: xmlvb.net

解决方案


使用文档模型解析出来的方法是这样的:

Sub MyRead(strXML As String)

    Dim xDom As New XmlDocument

    xDom.LoadXml(strXML)

    Dim MyNodeList As XmlNodeList

    MyNodeList = xDom.SelectNodes("/root/node")

    Dim MyNode As XmlNode

    For Each MyNode In MyNodeList
        Debug.Print(MyNode.Item("Username").InnerText)
        Debug.Print(MyNode.Item("Password").InnerText)
        Debug.Print(MyNode.Item("Enabled").InnerText)
    Next

End Sub

输出:

uknwn1447
MineCraftXxghx
YezSir

loluu
D4ddy
N0pe

您当然可以修改上述内容以返回 nodeList。我还在我的声明语句中使用了一些额外的行 - 上面可能会更短一些,但为了清楚起见并概述实际的数据类型声明,上面应该让你开始。


推荐阅读