Ce XPATH est très nouveau pour moi. Comment retourner tous les nœuds dans l'un des nœuds PERSON, en fonction du nœud dob égal à quelque chose, comme dans ce cas 19531119. Donc, si j'ai ce qui est ci-dessous sur ma requête initiale renvoyée, comment pourrais-je le faire afficher ce qui est ci-dessous il en utilisant xpath. Cela doit être si simple pour que quelqu'un essaie de m'aider.


<ELIGIBILITY>
  <PERSON>
    <name>Abe Lincoln</name>
    <last_name>Lincoln</last_name>
    <first_name>Nancy</first_name>
    <dob>19550918</dob>
    <from_date>20171001</from_date>
    <thru_date>20200831</thru_date>
    <medical>active</medical>    
  </PERSON>
<PERSON>
    <name>Martha Washington</name>
    <last_name>Washington</last_name>
    <first_name>Martha</first_name>
    <dob>19531119</dob>
    <from_date>20171001</from_date>
    <thru_date>20200831</thru_date>
    <medical>inactive</medical>
</PERSON>
</ELIGIBILITY>

J'ai besoin de ce retour basé sur le dob correspondant 19531119

<PERSON>
    <name>Martha Washington</name>
    <last_name>Washington</last_name>
    <first_name>Martha</first_name>
    <dob>19531119</dob>
    <from_date>20171001</from_date>
    <thru_date>20200831</thru_date>
    <medical>inactive</medical>
</PERSON>
-1
Nanosynth 29 août 2020 à 22:29

2 réponses

Meilleure réponse

Voici une expression XPath plus efficace.

La double barre oblique // parcourra tout le document XML. Pas besoin de faire ça.

/ELIGIBILITY/PERSON[dob="19531119"]
-1
Yitzhak Khabinsky 30 août 2020 à 03:35

Essayez cette expression xpath:

//PERSON[//dob='19531119']

Et voyez si cela fonctionne.

0
Jack Fleeting 29 août 2020 à 19:35