Ein XML-Namespace ist ein Mechanismus zur Unterscheidung von Elementen und Attributen aus verschiedenen XML-Standards oder Schemata innerhalb eines einzigen Dokuments. Namespaces werden durch URIs identifiziert und lokal im XML-Code mit Doppelpunkten vorangestellt.
SimpleXML bietet zwei Hauptmethoden für den Zugriff auf Namespaces:
Mit der Methode ->children() können Sie untergeordnete Elemente in einem bestimmten Namespace auswählen. Dadurch wird der Fokus Ihres SimpleXML-Objekts effektiv auf diesen Namespace verschoben.
$sx->children(XMLNS_EG1)->list->children(XMLNS_EG2)->item;
Die Methode ->attributes() funktioniert ähnlich wie die Methode ->children(), ermöglicht Ihnen jedoch den Zugriff auf Attribute innerhalb eines bestimmten Bereichs Namespace.
$item->attributes(XMLNS_SEQ)->position;
Sie können auch den anfänglichen Namespace angeben, wenn Sie das XML analysieren, indem Sie den vierten Parameter von verwenden simplexml_load_string oder simplexml_load_file.
$sx = simplexml_load_string($xml, null, 0, XMLNS_EG1);
Es gibt eine Kurzschrift-Alternative zum Angeben von Namespaces, indem der lokale Alias als zweiter Parameter von ->children() übergeben wird. oder ->attributes(). Dies wird nicht empfohlen, da sich das Präfix dynamisch ändern kann.
$sx->list->children('ns2', true)->item;
Durch das Verständnis von XML-Namespaces und die Verwendung der entsprechenden Methoden in SimpleXML können Sie Elemente und Attribute mit Doppelpunkten effektiv verarbeiten deren Namen, sodass Sie XML-Dokumente mit mehreren Namespaces analysieren können.
Das obige ist der detaillierte Inhalt vonWie gehe ich mit XML-Namespaces um und greife in SimpleXML auf Elemente/Attribute mit Doppelpunkten zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!