Reputation: 1272
I am trying to create a Xpath expression for a join like operation based on common key
Here is my XML and I would like to get all the zone who has network name as
'network-2'
XML:
<tmp>
<network>
<id>1</id>
<name>network-1</name>
</network>
<network>
<id>2</id>
<name>network-2</name>
</network>
<network>
<id>3</id>
<name>network-3</name>
</network>
<zone>
<network-id>1</network-id>
<zone-name>zone1</zone-name>
</zone>
<zone>
<network-id>1</network-id>
<zone-name>zone2</zone-name>
</zone>
<zone>
<network-id>2</network-id>
<zone-name>zone3</zone-name>
</zone>
</tmp>
In network-id is foreign key for zone.
I tried with below xpath expression but it is not working:
/tmp/zone[contains(tmp/network/name,'network-2')]
Upvotes: 2
Views: 176
Reputation: 26153
this part take id from the networ-2
/tmp/network[name[contains(., 'network-2')]]/id
and this finds zone name with that id
/tmp/zone[network-id= ?? ]/zone-name
full xpath may be so
/tmp/zone[network-id=/tmp/network[name[contains(., 'network-2')]]/id]/zone-name
Upvotes: 3