在XPath中选择重复的标签ID

时间:2019-04-20 07:58:49

标签: xml xpath

如何使用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。如果没有,我该如何改善呢?

1 个答案:

答案 0 :(得分:1)

在查询中包含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>