Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# XPath字符串以选择具有特定值c的特定节点#_C#_Xml_Xpath - Fatal编程技术网

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

C# XPath字符串以选择具有特定值c的特定节点#,c#,xml,xpath,C#,Xml,Xpath,我想选择一个节点,cat的内部文本是使用XPath的“PG” <?xml version="1.0" encoding="utf-8"?> <Students> <student> <name>Talha</name> <cat>PG</cat> </student> <student> <name>irf

我想选择一个节点,
cat
的内部文本是使用XPath的“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>

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

/Students/student[cat='PG']
只得到第一次使用

/Students/student[cat='PG'][1]
因此,在C的语法中,使用


调用
local-name()
有什么用?这很可疑。除非您的实际XML具有名称空间,否则您不需要它,即使这样,您也不真正需要它。所以您的实际XML是否有名称空间?如果是,则显示实际的XML。如果没有,请去掉
local-name()
。选择SingleNode将只选择一个节点。不需要[1],对吗?@ThomasWeller:是的。我只是为了强调这是两个节点中的第一个被选中。
/Students/student[cat='PG'][1]
XmlElement xmldoc = (XmlElement)doc.DocumentElement.SelectSingleNode("/Students/student[cat='PG'][1]");