1

示例 XML;

<root>
  <cmdset>Set 1
    <cmd>Command 1</cmd>
  </cmdset>
  <cmdset>Set 2
    <cmd>Command 2</cmd>
  </cmdset>
</root>

我只想从<cmdset>标签中提取文本。示例代码;

Sub Main()
        Dim doc As XmlDocument = New XmlDocument()
        doc.Load("help.xml")
        For Each Element As XmlElement In doc.SelectNodes("//cmdset")
            Console.WriteLine(Element.InnerText)
        Next
        Console.Read()
    End Sub

电流输出;

Set 1
    Command 1
Set 2
    Command 2

期望的输出;

Set 1
Set 2

谢谢请

4

1 回答 1

1

您需要使用 XPathtext()函数仅选择文本内容,例如:

For Each textNode As XmlText In doc.SelectNodes("//cmdset/text()")
    Console.WriteLine(textNode.InnerText)
Next

请注意,我还将迭代器从XmlElement变量更改为XmlText变量,因为 XML 文档中的文本内容不被视为元素节点,而是文本节点。

于 2013-02-19T20:15:54.400 回答