我需要选择一个节点的属性,该节点具有名为TypeCode的属性,其值为REF,我找不到正确的XPath查询

时间:2015-10-15 12:44:21

标签: xml xpath

我需要选择一个节点的属性“given or family”,该属性具有名为TypeCode的属性,其值为REF,我找不到正确的XPath查询

   <participant typeCode="IND">
      <associatedEntity classCode="giver">
        <associatedPerson>
            <name>
                <given>Administrator</given>
                <family>test</family>
            </name>
        </associatedPerson>
    </associatedEntity>
</participant>
<participant typeCode="REF">
    <time value="20151013000000+0200"/>
    <associatedEntity classCode="PROV">
        <associatedPerson>
            <name>
                <given>TestBIB1</given>
                <family>Train1B</family>
            </name>
        </associatedPerson>
    </associatedEntity>
</participant>'      

2 个答案:

答案 0 :(得分:1)

要选择属性为typeCode="REF"的任何节点,请使用XPath:

//*[@typeCode="REF"]

要专门选择属性为participant的{​​{1}}元素,请使用XPath:

typeCode="REF"

然后选择给定/族元素,使用:

//participant[@typeCode="REF"]

//participant[@typeCode="REF"]/associatedEntity/associatedPerson/name/given

答案 1 :(得分:0)

可能的XPath是

//participant[@typeCode="REF"]/associatedEntity/associatedPerson/name

选择givenfamily元素。

您需要澄清“给定或家庭”的含义,以及是否需要选择文本内容等。这可能会导致对上述表达式进行一些调整。