如何使用Xpath获取重复的标记ID。例如:
<Employees>
<Employee id="1">
<age>29</age>
<name>Pankaj</name>
<gender>Male
<sexuality>Heterosexual</sexuality>
</gender>
<role>Java Developer</role>
</Employee>
<Employee id="2">
<age>35</age>
<name>Lisa
<lastname>Monyet</lastname>
</name>
<gender>Female</gender>
<role>CEO</role>
</Employee>
<Employee id="1">
<age>40</age>
<name>Tom</name>
<gender>Male</gender>
<role>Manager</role>
</Employee>
</Employees>
另一个问题是,
这个XPath查询://Employee/*
能够返回标记id和其余节点值。如果没有,我该如何改进?
在查询中包含id
就可以了
xmllint -xpath '//Employee[@id="1"]' test.xml
结果:
<Employee id="1">
<age>29</age>
<name>Pankaj</name>
<gender>Male
<sexuality>Heterosexual</sexuality>
</gender>
<role>Java Developer</role>
</Employee><Employee id="1">
<age>40</age>
<name>Tom</name>
<gender>Male</gender>
<role>Manager</role>
</Employee>