我有以下 XML。
<?xml version="1.0" encoding="UTF-8"?>
<Employees>
<Employee id="3">
<age>40</age>
<name>Tom</name>
<gender>Male</gender>
<role>Manager</role>
</Employee>
<Employee id="4">
<age>25</age>
<name>Meghna</name>
<gender>Female</gender>
<role>Manager</role>
</Employee>
</Employees>
我想选择 id="4" 的 Employee 元素。
我正在使用下面的 XPath 表达式,它不返回任何内容。
//Employee/[@id='4']/text()
我检查过http://chris.photobooks.com/xml/default.htm它说无效的xpath,不知道问题出在哪里。
您需要删除/
之前[
。谓词(其中的部分[..]
) 前面不应有斜杠 - 它们直接位于与其关联的节点选择器之后。
另外,要选择 Employee 元素本身,您应该省略/text()
在最后。否则,您只需选择 Employee 元素正下方的空白文本值。
//Employee[@id = '4']
还有一件事需要注意://
可能会非常慢,因为它会在整个文档中搜索匹配的节点。如果您正在使用的文档的结构要保持一致,那么您最好使用更明确的路径,例如:
/Employees/Employee[@id = '4']
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)