Wie kann ich XML-Knoten mithilfe von Bedingungen in XPath filtern?

Mary-Kate Olsen
Freigeben: 2024-11-08 22:43:02
Original
654 Leute haben es durchsucht

How Can I Filter XML Nodes Using Conditions in XPath?

Implementierung von Bedingungen in XPath

XPath-Ausdrücke bieten die Möglichkeit, bestimmte Elemente oder Knoten aus einem XML-Dokument auszuwählen. In diesem Zusammenhang besteht eine häufige Anforderung darin, diese Elemente nach bestimmten Bedingungen oder Kriterien zu filtern.

Ein konkretes Beispiel für diese Anforderung ist, wenn Sie Knoten anhand ihrer Attribute auswählen möchten. Stellen Sie sich eine XML-Datei vor, die Ereignisse mit Datumsangaben enthält:

<?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>
Nach dem Login kopieren

Um alle Ereignisse abzurufen, können Sie den folgenden XPath-Ausdruck verwenden:

$nodes = $xml->xpath('//xml/events');
Nach dem Login kopieren

Wenn Sie jedoch Ereignisse basierend auf auswählen müssen Wenn Sie ihre Daten angeben, können Sie bedingte Ausdrücke in Ihre XPath-Abfrage integrieren:

$nodes = $xml->xpath('//xml/events[@date="14/12/2011"]');
Nach dem Login kopieren

In diesem modifizierten XPath-Ausdruck geben wir die Bedingung des Datumsattributs in eckigen Klammern [] an. Diese Bedingung filtert die Ereignisknoten mit dem passenden Datumswert heraus, was zu einer Auswahl nur der Ereignisse führt, die am „14.12.2011“ aufgetreten sind.

Das obige ist der detaillierte Inhalt vonWie kann ich XML-Knoten mithilfe von Bedingungen in XPath filtern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage