Есть ли способ в XPath выбрать целую часть дерева XML, если одна его часть соответствует определенным критериям? - PullRequest
0 голосов
/ 02 февраля 2020

Итак, скажем, у меня есть XML, как это

<person>
     <person-id>ABC</person-id>
     <name>John Doe</name>
     <occupation>roofer</occupation>
     <address>
       <address>335 sample street</address>
       <city>joeville</city>
     </address>
</person>  
<person>
     <person-id>DEF</person-id>
     <name>Sam Doe</name>
     <occupation>XQuery Developer</occupation>
     <address>
       <address>234 XML street</address>
       <city>TestVille</city>
     </address>
</person> 
<person>
     <person-id>HIJ</person-id>
     <name>Jim Doe</name>
     <occupation>Sales</occupation>
     <address>
       <address>456 sample street</address>
       <city>TestVille</city>
     </address>
</person> 

Как выбрать все узлы людей для людей, которые живут в городе 'TestVille'?

person/address[city="TestVille"]

Вышеуказанные адреса дают мне узлы, но мне нужен весь человек. Можно ли это сделать?

1 Ответ

1 голос
/ 02 февраля 2020

Да, вы можете сделать:

person[address/city="TestVille"]
...