1

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

谢谢凯文

4

2 回答 2

1

//record/data/name将匹配name您的示例 XML 中的两个元素。

要专门匹配教师,您应该添加一个谓词:

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

如果您有多个“老师”,它将匹配所有这些。你可以进一步缩小范围......

这将匹配第一个老师:

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

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

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

于 2013-03-22T05:48:30.747 回答
0
/record/data[type='teacher']/name

X 路径语法

于 2013-03-22T08:15:31.413 回答