Je travaille sur un projet en utilisant lxml. Voici un exemple xmlchemin vers l'élément avec des conditions sur les attributs parent (s) en utilisant xpath, lxml, python
<PatientsTree>
<Patient PatientID="SKU065427">
<Study StudyInstanceUID="25.2.9.2.1107.5.1.4.49339.30000006050107501192100000001">
<Series SeriesInstanceUID="2.16.840.1.113669.1919.1176798690"/>
<Series SeriesInstanceUID="2.16.840.1.113669.1919.1177084041"/>
<Series SeriesInstanceUID="25.2.9.2.1107.5.1.4.49339.30000006050108064034300000000"/>
</Study>
</Patient>
<Patient PatientID="SKU55527">
<Study StudyInstanceUID="25.2.9.2.1107.5.1.4.49339.30000006120407393721800000007">
<Series SeriesInstanceUID="2.16.840.1.113669.1919.1198835144"/>
</Study>
<Study StudyInstanceUID="25.2.9.2.1107.5.1.4.49339.30000007010207164403100000013">
<Series SeriesInstanceUID="2.16.840.1.113669.1919.1198835358"/>
</Patient>
</PatientsTree>
que je veuille se rendre à l'élément de série avec des conditions
- PatientID = "SKU55527"
- StudyInstanceUID = "25.2.9.2.1107.5.1.4.49339.30000007010207164403100000013" ;
Mon résultat sera:
<Series SeriesInstanceUID="2.16.840.1.113669.1919.1198835358"/>
Si je peux comprendre cette solution alors je vais passer un peu plus dans l'apprentissage xml. PS Je travaille avec python et lxml et XPath
Magnifiquement écrit - J'adore la lisibilité améliorée de la méthode de formatage. Je ne peux jamais m'empêcher d'apprécier à quel point lxml ressemble à une bibliothèque native. – nearlymonolith
S'il vous plaît, quand le schéma est bien connu, ne démarrez pas les expressions XPath avec l'opérateur '//', car ceci trasverse tout l'arbre. –
@Alejandro: Merci; c'est un bon point. J'espère que cela ne vous dérange pas de prendre votre XPath bien formaté. – unutbu