Bonjour,
Je cherche à faire une recherche, en php sur deux xpath différents.
Les communes se trouvent ici :
Les nom se trouvent ici :
Code : Sélectionner tout - Visualiser dans une fenêtre à part /ead/archdesc/dsc////controlaccess/geogname
En php, je fait une recherche via :
Code : Sélectionner tout - Visualiser dans une fenêtre à part /ead/archdesc/dsc/c/c/controlaccess/persname
avec la requête :
Code : Sélectionner tout - Visualiser dans une fenêtre à part $xml->xpath($req);
Ce qui donne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 $xpath_geog = "//controlaccess/geogname"; $xpath_pers = "//controlaccess/persname"; $valeur_geog = "Paris"; $valeur_pers = "Toto"; $req = $req.= sprintf("//ead/archdesc/dsc//c[%s=\"%s\"]",{xpath_geog|xpath_pers},{valeur_geog|valeur_pers});
Pour les noms, ça fonctionne très bien. Mais pour les communes, je n'ai aucun résultat.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 //ead/archdesc/dsc//c[controlaccess/geogname="Paris"] //ead/archdesc/dsc//c[controlaccess/persname="Toto"]
J'ai tenté d'ajouter des /// (1,2,3,..) mélangé à des "c" mais rien n'y fait.
Je n'arrive pas à un résultat correcte.
Sachant que j'aimerai ne pas changer la première partie du sprintf {sprintf("//ead/archdesc/dsc//c} car c'est commun à plusieurs autre code/clients, comment faire ?
Ou si je dois forcement changer la partie en dur, merci de me dire quel chemin dois-je mettre pour que les deux recherche fonctionne.
Je m'adapterai pour les autres clients en classe Extends.
D'avance merci à la communauté.
Partager