从该xml获取子节点

从该xml获取子节点,xml,vb.net,xml-parsing,nodes,Xml,Vb.net,Xml Parsing,Nodes,我正在尝试使用XML.XMLNode提取childnodes,因为目前我正在使用以下代码获取我的值信息 Dim objXML As New Xml.XmlDocument Dim colNode As Xml.XmlNode Dim rowNode As Xml.XmlNode Dim RespNode As Xml.XmlNode For Each RespNode In objXML.ChildNodes For Each rowNode In RespNode.C

我正在尝试使用XML.XMLNode提取childnodes,因为目前我正在使用以下代码获取我的值信息

Dim objXML As New Xml.XmlDocument
Dim colNode As Xml.XmlNode
Dim rowNode As Xml.XmlNode
Dim RespNode As Xml.XmlNode

For Each RespNode In objXML.ChildNodes
            For Each rowNode In RespNode.ChildNodes
                For Each colNode In rowNode.ChildNodes
testStr = colNode.Attributes.GetNamedItem("name").Value
Next
Next
Next
如何通过修改当前使用的代码来获取fieldPasswordValue:1234和fieldPasswordValue:4567

XML:

 <resp status="ok">
       <data id="41170">
        <field name="abc">xyz</field>
          <composite>
             <data id="51253">
                <field name="fieldPasswordValue"/>1234</field>
            </data>
             <data id="52356">
                <field name="fieldPasswordValue"/>4567</field>
           </data>
    </composite>
    </data>
    </resp>

xyz
1234
4567

首先,您的xml是错误的。您通过执行以下操作两次关闭该字段

<field name="fieldPasswordValue"/>1234</field>

我建议你得到你想要的东西。您甚至可以删除示例中的3个for循环。

是的,对不起,这是一个输入错误。这个领域没有关闭两次。我可以不使用SelectNodes,而是在composite标记下循环遍历所有这些节点吗?假设我有两个像上面一样的数据节点,每个数据节点有“n”个字段节点。如何访问所有字段节点并循环它们?可以使用ParentNode获取数据,或者使用xpath查找composite下的所有数据,然后调用另一个调用查找composite下的所有字段。
<field name="fieldPasswordValue">1234</field>
For Each node As Xml.XmlNode In objXML.SelectNodes("//field[@name='fieldPasswordValue']")
     Console.WriteLine(node.InnerText)
Next