Maison > développement back-end > tutoriel php > Comment puis-je filtrer les nœuds XML à l'aide de conditions dans XPath ?

Comment puis-je filtrer les nœuds XML à l'aide de conditions dans XPath ?

Mary-Kate Olsen
Libérer: 2024-11-08 22:43:02
original
717 Les gens l'ont consulté

How Can I Filter XML Nodes Using Conditions in XPath?

Conditions d'implémentation dans XPath

Les expressions XPath offrent la possibilité de sélectionner des éléments ou des nœuds spécifiques à partir d'un document XML. Dans ce contexte, une exigence courante consiste à filtrer ces éléments en fonction de conditions ou de critères particuliers.

Un exemple spécifique de ce besoin est lorsque vous souhaitez sélectionner des nœuds en fonction de leurs attributs. Considérons un fichier XML contenant des événements avec des dates :

<?xml version="1.0" encoding="UTF-8"?>
<xml>
  <events date="12/12/2010">
    <event>
      <title>JqueryEvent</title>
      <description>
        easily
      </description>
    </event>
  </events>
  <events date="14/12/2011">
    <event>
      <title>automatically onBlur</title>
      <description>
        when a date is selected. For an inline calendar, simply attach the datepicker to a div or span.
      </description>
    </event>
  </events>
</xml>
Copier après la connexion

Pour récupérer tous les événements, vous pouvez utiliser l'expression XPath suivante :

$nodes = $xml->xpath('//xml/events');
Copier après la connexion

Cependant, si vous devez sélectionner des événements en fonction de leurs dates, vous pouvez incorporer des expressions conditionnelles dans votre requête XPath :

$nodes = $xml->xpath('//xml/events[@date="14/12/2011"]');
Copier après la connexion

Dans cette expression XPath modifiée, nous spécifions la condition de l'attribut de date entre crochets []. Cette condition filtre les nœuds d'événement avec la valeur de date correspondante, ce qui entraîne une sélection uniquement des événements survenus le "14/12/2011".

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal