Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.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
Xml xpath来标识唯一的元素_Xml_Xpath - Fatal编程技术网

Xml xpath来标识唯一的元素

Xml xpath来标识唯一的元素,xml,xpath,Xml,Xpath,这个问题可能反映了我对Xpath知识的无知,但我仍然敢问。 我的xml结构与此类似: <record> <data> <type>student</type> <name>Kevin</name> </data> <data> <type>teacher</type> <name>Matt</name> </data> </recor

这个问题可能反映了我对Xpath知识的无知,但我仍然敢问。 我的xml结构与此类似:

<record>
<data>
<type>student</type>
<name>Kevin</name>
</data>

<data>
<type>teacher</type>
<name>Matt</name>
</data>
</record>

学生
凯文
老师
马特
如何编写xpath来选择教师Matt?“//record/data/name”是否总是返回它匹配的第一个/最后一个/所有/无担保记录

谢谢
Kevin将匹配示例XML中的两个
名称
元素

要特别匹配教师,应添加谓词:

/record/data[type='teacher']/name

如果你有一个以上的“老师”,它将匹配所有的老师。不过你可以进一步缩小范围

这将匹配第一位老师:

(/record/data[type='teacher']/name)[1]

这将匹配名为“Matt”的第一位老师:


(/record/data[type='teacher']/name[.='Matt'])[1]
//record/data/name
将匹配示例XML中的两个
name
元素

要特别匹配教师,应添加谓词:

/record/data[type='teacher']/name

如果你有一个以上的“老师”,它将匹配所有的老师。不过你可以进一步缩小范围

这将匹配第一位老师:

(/record/data[type='teacher']/name)[1]

这将匹配名为“Matt”的第一位老师:

(/record/data[type='teacher']/name[.='Matt'])[1]


谢谢你的详细回答谢谢你的详细回答
/record/data[type='teacher']/name