SimpleXML: La Sélection Des Éléments Qui Ont Une Certaine Valeur De L'Attribut
Dans un document XML, j'ai des éléments qui partagent le même nom, mais la valeur d'un attribut définit le type de données qu'il est, et je veux sélectionner tous les éléments qui ont une certaine valeur à partir du document. Dois-je utiliser XPath (et si oui, pourriez-vous suggérer le droit de syntaxe) ou est-il une solution plus élégante?
Voici quelques exemple XML:
<object>
<data type="me">myname</data>
<data type="you">yourname</data>
<data type="me">myothername</data>
</object>
Et je veux choisir le contenu de tous les <data>
balises enfants de <object>
qui est de type me
.
PS - je suis en train de faire l'interface avec Netflix API à l'aide de PHP, cela ne devrait pas question pour ma question, mais si vous voulez suggérer un bon/meilleur moyen de le faire, je suis tout ouïe.
Vous devez vous connecter pour publier un commentaire.
Essayer cette XPath:
Donc:
Et si
object
n'est pas la racine de votre document, utilisez//object/data[@type="me"]
à la place.Je viens de faire une fonction pour faire cela pour moi; il ne récupère que le premier résultat si. Votre kilométrage peut varier.
Utilisation:
(Pour le document XML ci-dessous)
if($node[$attr_name] == $attr_value)
?