【发布时间】:2015-04-13 19:12:21
【问题描述】:
我从其他来源查询并获取此信息
<queryResult xmlns="http://apiblah">
<template>
<entity name="Nodes" type="apiblah" dynamic="False">
<property name="NodeID" type="Int32" />
</entity>
</template>
<data>
<Nodes>
<NodeID>823</NodeID>
</Nodes>
<Nodes>
<NodeID>825</NodeID>
</Nodes>
<Nodes>
<NodeID>826</NodeID>
</Nodes>
<Nodes>
<NodeID>839</NodeID>
</Nodes>
<Nodes>
<NodeID>935</NodeID>
</Nodes>
</data>
</queryResult>
我正在尝试从这种 XML 中提取所有 nodeID,但我无法将它们全部放入数组中。
每次我尝试通过时,我只得到第一个 NodeID
var nodeID = result.XPathSelectElement("//*[local-name()='NodeID']").Value; is what works for the first nodeid
关于如何将它们全部作为数组获取的任何建议? 多个 NodeID 标记使我的代码关闭
【问题讨论】:
-
您只能从返回多个的 XPath 查询中获取 XML 元素。因此,一旦获得节点列表,就必须遍历列表以提取值并将它们放入数组中。
标签: c# xpath xml-parsing