xpath标识唯一元素

时间:2013-03-22 04:57:51

标签: xml xpath

这个问题可能反映了我对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”是否始终返回匹配的第一个/最后一个/所有/无担保记录?

由于 凯文

2 个答案:

答案 0 :(得分: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]

答案 1 :(得分:0)

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

X-path Syntax