用于选择具有特定值c#的特定节点的XPath字符串

时间:2017-12-21 20:04:15

标签: c# xml xpath

我想选择一个节点,cat的内部文字是' PG'使用XPath

<?xml version="1.0" encoding="utf-8"?>
<Students>
    <student>
        <name>Talha</name>
        <cat>PG</cat>
    </student>
    <student>
        <name>irfan</name>
        <cat>UG</cat>
    </student>
    <student>
        <name>Ali</name>
        <cat>PG</cat>
    </student>
    <student>
        <name>Umer</name>
        <cat>UG</cat>
    </student>
</Students>

我试过的代码就是这个

XmlElement xmldoc = (XmlElement)doc.DocumentElement
    .SelectSingleNode("/Students/student/*[*[local-name()='cat']='PG']");

1 个答案:

答案 0 :(得分:1)

要选择所有student个节点,哪些子元素cat具有值&#39; PG&#39;使用此XPath表达式

/Students/student[cat='PG']

只使用第一个

/Students/student[cat='PG'][1]

所以在C#的语法中使用

XmlElement xmldoc = (XmlElement)doc.DocumentElement.SelectSingleNode("/Students/student[cat='PG'][1]");