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

问题描述 投票:2回答:1

我想使用XPath选择cat的内部文本为'PG'的节点

<?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']");
c# xml xpath
1个回答
1
投票

要选择所有student节点哪个子元素cat具有值'PG',请使用此XPath表达式

/Students/student[cat='PG']

只获得第一个使用

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

所以在C#的语法中使用

XmlElement xmldoc = (XmlElement)doc.DocumentElement.SelectSingleNode("/Students/student[cat='PG'][1]");
© www.soinside.com 2019 - 2024. All rights reserved.