我有以下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']
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。