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

前端之家收集整理的这篇文章主要介绍了xml – XPath以按属性值选择元素前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下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元素本身,您应该在/ end()结束处,否则您只是选择紧接在Employee元素下的空白文本值。
//Employee[@id='4']

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

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

猜你在找的XML相关文章