我有以下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,不知道问题出在哪里 .
2 回答
试着这样做:
您需要在
[
之前删除/
. 谓词([
]
中的部分)不应该在它们之前有斜杠 . 另外,要选择Employee元素本身,您应该在最后留下/text()
,否则您只需在Employee元素下选择空白文本值 .Edit: 正如Jens在评论中指出的那样,
//
可能会非常慢,因为它会在整个文档中搜索匹配的节点 . 如果您正在使用的文档的结构将保持一致,那么最好使用完整路径,例如: