Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich XML mit Namespaces mithilfe von SimpleXML analysieren, ohne ein Präfix zu deklarieren?

Wie kann ich XML mit Namespaces mithilfe von SimpleXML analysieren, ohne ein Präfix zu deklarieren?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-27 01:24:09640Durchsuche

How Can I Parse XML with Namespaces Using SimpleXML Without Declaring a Prefix?

XML mit Namespace mit SimpleXML analysieren

In diesem Szenario haben Sie ein XML-Dokument mit XML-Namespaces und möchten es mit SimpleXML analysieren . Während das bereitgestellte Beispiel fehlschlägt, ist es möglich, mit SimpleXML das gewünschte Ergebnis zu erzielen, ohne ein Namespace-Präfix zu deklarieren.

Lösung:

$xml = new SimpleXMLElement($xmlContent);

foreach ($xml->xpath('//event:event') as $event) {
    var_export($event->xpath('event:sessionKey'));
}

Erklärung:

Anstatt ein Namespace-Präfix zu registrieren, können Sie einfach das vollständige Namespace-Präfix in das einschließen XPath-Ausdrücke. In diesem Fall gilt für den Namespace „event“:

  • e:event wird zu event:event
  • e:sessionKey wird zu event:sessionKey

Ergebnis:

Der Code durchläuft nun korrekt alle Event:event-Knoten und zeigt die an Werte der event:sessionKey-Knoten.

Das obige ist der detaillierte Inhalt vonWie kann ich XML mit Namespaces mithilfe von SimpleXML analysieren, ohne ein Präfix zu deklarieren?. 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