0

我一直在搜索 SO(以及 Internet 的其余部分)以寻找答案,但我似乎找不到基于属性选择 XML 节点的解决方案。

示例 XML:

<foo>
    <bar name="do">A</bar>
    <bar name="rae">B</bar>
    <bar name ="mi">C</bar>
</foo>

因此,如果我想B通过属性的rae值来获取name,我已经尝试过:

myValue = myXML.selectSingleNode("//foo/bar/").Attributes.getNamedItem("rae").Text

谢谢!

4

3 回答 3

2

最终为我工作的解决方案是:

myValue = myXML.selectSingleNode("var[@name='ID']").Text
于 2013-08-06T12:21:53.280 回答
0

使用您的示例...

myValue = myXML.SelectSingleNode("/foo/bar[@name='rae']").InnerXML

注意变量名中@的使用。您的标准(方括号之间的所有内容)都在您正在搜索的级别上。

于 2013-08-05T18:59:50.127 回答
0

如果有多个节点,那么我认为您将无法使用SelectSingleNode. 相反,您可以使用XPath和 getElementsByTagName。此外,(尽管在您的情况下可能没有必要)确保您只获得一个节点,您可以使用NextNode. 使用您的示例 XML 的最终代码将是...

myValue = myXML.getElementsByTagName("/foo[@name='rae']/bar").nextNode.nodeTypedValue
于 2013-08-05T19:33:27.407 回答