在.NET 2.0中选择具有相同属性名称的单个节点

时间:2012-11-22 15:41:12

标签: xml vb.net asp.net-2.0

我的xml看起来像

<article>
    <article-id pub-id-type="local">ABC</article-id>
    <article-id pub-id-type="external">XYZ</article-id>
</article>

我可以做以下

dim articleId as string =  doc.SelectSingleNode("./article/article-id", nsm).InnerText

,结果是ABC

我不知道如何将结果变为XYZ - 我假设因为我正在使用SelectSingleNode它获得了第一项。有没有办法告诉它获得第二个?

请注意,虽然我已经展示了一个只有2个节点的示例,但可能有任何数字,因此必须通过名称“external”进行“搜索”

我之前并没有真正使用过.NET 2.0,MSDN对我没有帮助。

任何帮助都会很棒,谢谢。

1 个答案:

答案 0 :(得分:1)

您可以使用以下XPath:

"./article/article-id[@pub-id-type='external']"

[@pub-id-type='external']是属性过滤器。

如果您有多个可能的元素,可以添加[last()]以获取最后一个元素。

有关更多XPath信息,请查看this page