如何编写XPath表达式获取年龄35且角色为CEO的员工姓名
解决XPath多条件筛选员工姓名的问题
很简单,你只需要在XPath的谓词(方括号内的筛选条件)里用and把两个条件组合起来就行,这样就能同时匹配年龄为35且角色是CEO的员工了。
最终可用的XPath表达式
/Employees/Employee[age="35" and role="CEO"]/name/text()
修改思路说明
你原来的表达式/Employees/Employee[age="35"]/name/text()只做了单条件的年龄筛选,现在把role="CEO"这个条件通过and和原条件拼接,就能精准定位到同时满足两个要求的<Employee>节点,再提取其下的<name>文本内容。
对应XML验证
给定的目标XML文档:
<?xml version="1.0" encoding="UTF-8"?> <Employees> <Employee id="1"> <age>29</age> <name>Pankaj</name> <gender>Male</gender> <role>CEO</role> </Employee> <Employee id="2"> <age>35</age> <name>Lisa</name> <gender>Female</gender> <role>CEO</role> </Employee> </Employees>
使用这个XPath查询后,会准确返回结果Lisa,完全符合你的筛选需求。
内容的提问来源于stack exchange,提问作者PrJa
相关产品推荐
相关产品推荐

