xml – XPath以按属性值选择元素

前端之家收集整理的这篇文章主要介绍了xml – XPath以按属性值选择元素前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下XML。
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <Employees>
  3. <Employee id="3">
  4. <age>40</age>
  5. <name>Tom</name>
  6. <gender>Male</gender>
  7. <role>Manager</role>
  8. </Employee>
  9. <Employee id="4">
  10. <age>25</age>
  11. <name>Meghna</name>
  12. <gender>Female</gender>
  13. <role>Manager</role>
  14. </Employee>
  15. </Employees>

我想选择id =“4”的Employee元素。

我使用下面的XPath表达式,它不返回任何东西。

  1. //Employee/[@id='4']/text()

我检查它在http://chris.photobooks.com/xml/default.htm,它说无效的xpath,不知道在哪里的问题。

你需要删除/前的[。谓词([]中的部分)在它们之前不应有斜杠。此外,要选择Employee元素本身,您应该在/ end()结束处,否则您只是选择紧接在Employee元素下的空白文本值。
  1. //Employee[@id='4']

编辑:当Jens在注释中指出,//可能非常慢,因为它搜索整个文档中的匹配节点。如果你正在使用的文档的结构是一致的,你最好是使用完整的路径,例如:

  1. /Employees/Employee[@id='4']

猜你在找的XML相关文章