我有以下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>
Run Code Online (Sandbox Code Playgroud)
我想选择id ="4"的Employee元素.
我正在使用XPath表达式下面没有返回任何东西.
//Employee/[@id='4']/text()
Run Code Online (Sandbox Code Playgroud)
我在http://chris.photobooks.com/xml/default.htm检查了它,它说无效的xpath,不知道问题出在哪里.
JLR*_*she 263
你需要删除/之前的[.谓词(部分[ ])不应该在它们之前有斜杠.另外,要选择Employee元素本身,您应该/text()在最后留下,否则您只需在Employee元素下立即选择空白文本值.
//Employee[@id='4']
Run Code Online (Sandbox Code Playgroud)
编辑:正如Jens在评论中指出的那样,//可能会非常慢,因为它会在整个文档中搜索匹配的节点.如果您正在使用的文档的结构将保持一致,那么最好使用完整路径,例如:
/Employees/Employee[@id='4']
Run Code Online (Sandbox Code Playgroud)
Gil*_*not 11
试着这样做:
/Employees/Employee[@id=4]/*/text()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
258138 次 |
| 最近记录: |