Zu Hauptinhalt springen Zu ergänzendem Inhalt springen

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.

Hat diese Seite Ihnen geholfen?

Wenn Sie ein Problem mit dieser Seite oder ihrem Inhalt feststellen, sei es ein Tippfehler, ein ausgelassener Schritt oder ein technischer Fehler, informieren Sie uns bitte!