phcaze
phcaze

Reputation: 1777

Xpath condition get parent

Here's my xml:

<people>
<person id="0001">
    <firstname>Christopher</firstname>
    <lastname>Shaw</lastname>
    <birthdate>1975-02-23T21:24:46.000+02:00</birthdate>
    <healthprofile>
        <lastupdate>2014-09-30T10:38:07.000+02:00</lastupdate>
        <weight>84</weight>
        <height>2.13</height>
        <bmi>18.51</bmi>
    </healthprofile>
</person>
<person id="0002">
    <firstname>Brian</firstname>
    <lastname>Tooley</lastname>
    <birthdate>1987-10-19T08:18:59.000+02:00</birthdate>
    <healthprofile>
        <lastupdate>2014-09-30T10:38:07.000+02:00</lastupdate>
        <weight>98</weight>
        <height>2.17</height>
        <bmi>20.81</bmi>
    </healthprofile>
</person>
</people>

What I want to do using Xpath is to extract the firstname of those users which weight is equal to 80 for example. I can't get this to work.

Upvotes: 0

Views: 129

Answers (1)

har07
har07

Reputation: 89325

You can try something like this :

/people/person[healthprofile/weight='80']/firstname

Basically above XPath look for <person> element having <weight> descendant equals 80, then from that <person> get the <firstname> element.

Upvotes: 1

Related Questions