So analysieren Sie XML mit Namespace mithilfe von SimpleXML
Problem:
Beim Analyseversuch XML mit Namespaces, die SimpleXML verwenden, es treten Probleme mit registerXPathNamespace() auf Methode.
XML-Struktur:
<root xmlns:event="http://www.webex.com/schemas/2002/06/service/event"> <event:event> <event:sessionKey>...</event:sessionKey> ... </event:event> ... </root>
Beispiel für eine Xpath-Abfrage:
Versuch, „event:sessionKey“ zu extrahieren Werte Verwendung:
$xml->registerXPathNamespace('e', 'http://www.webex.com/schemas/2002/06/service/event'); $event->xpath('//e:sessionKey')
Lösung:
Das Problem liegt in der Notwendigkeit sowohl des Namespace-Präfixes ('e') als auch des vollständigen Namespace-URI in der XPath-Abfrage , auch ohne die Verwendung von registerXPathNamespace().
Korrigiert Code:
$xml = new SimpleXMLElement($r); foreach ($xml->xpath('//event:event') as $event) { var_export($event->xpath('event:sessionKey')); }
Das obige ist der detaillierte Inhalt vonWie kann ich Namespace-XML mit dem XPath von SimpleXML korrekt analysieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!