Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich mithilfe von SimpleXML und XPath XML-Elemente nach Attributwert auswählen?

Wie kann ich mithilfe von SimpleXML und XPath XML-Elemente nach Attributwert auswählen?

Barbara Streisand
Barbara StreisandOriginal
2024-12-29 02:36:15408Durchsuche

How Can I Select XML Elements by Attribute Value Using SimpleXML and XPath?

Verwenden von SimpleXML zum Auswählen von Elementen nach Attributwert

In XML-Dokumenten ist das Auswählen von Elementen mit bestimmten Attributwerten eine häufige Aufgabe. Angenommen, Sie haben Elemente mit demselben Namen, deren Attributwerte jedoch ihren Datentyp angeben. Um alle Elemente mit einem bestimmten Wert für dieses Attribut auszuwählen, können Sie SimpleXML verwenden.

XPath für die Attributauswahl

Mit XPath können Sie Elemente basierend auf Attributwerten auswählen . Um beispielsweise alle Elemente, deren Typattribut auf „me“ gesetzt ist:

/object/data[@type="me"]

Dieser XPath-Ausdruck bedeutet:

  • Beginnen Sie mit dem Stammelement „object“.
  • Auswählen alle untergeordneten Elemente mit dem Namen „Daten“.
  • Filtern Sie die ausgewählten Elemente so, dass nur diejenigen mit einem „Typ“-Attributwert von enthalten sind „me.“

Beispiel-XML:

Betrachten Sie das folgende XML:

<object>
  <data type="me">myname</data>
  <data type="you">yourname</data>
  <data type="me">myothername</data>
</object>

Mithilfe des XPath-Ausdrucks können Sie auswählen Der Inhalt von Elemente, bei denen „type“ gleich „me“ ist:

$myDataObjects = $simplexml->xpath('/object/data[@type="me"]');

Wenn „object“ nicht das Stammelement ist, verwenden Sie „//object/data[@type="me"]“, um alle Nachkommen auszuwählen. nicht nur Kinder.

Das obige ist der detaillierte Inhalt vonWie kann ich mithilfe von SimpleXML und XPath XML-Elemente nach Attributwert auswählen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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