XML-Namespace-Problem
In diesem Abschnitt wird ein Problem beschrieben, das auftreten kann, wenn Sie XPath-Ausdrücke mit XML-Dokumenten verwenden, die Namespaces enthalten.
Weitere Informationen zu Namespaces finden Sie unter XML namespace und Namespaces in XML.
Beschreibung
Derzeit funktionieren XPath-Ausdrücke wie erwartet, wenn das XML-Dokument keine Namespaces hat. Wenn ein Dokument jedoch Namespaces enthält, auch Standard-Namespaces, können XPath-Ausdrücke unerwartete Ergebnisse zurückgeben.
Beispielsweise geben in dem XML-Dokument unten die Ausdrücke /a, //c und //c/@name alle ein leeres Array zurück:
<a xmlns="http://www.w3.org/2000/example">
<b>
<c name="name1"/>
</b>
</a>
Workaround
Um dieses Problem zu vermeiden, können Sie einen XPath-Ausdruck verwenden, der ein Tag nach Namen abruft. Damit können Sie den Namespace ignorieren. Für die Beispiele oben können Sie /*[name()='a'], //*[name()='c'] und //*[name()='c']/@name verwenden.