[xml] wie man Namespaces mit XPath ignoriert


0 Answers

Sie können dasselbe in XPath2.0 in einer weniger ausführlichen Syntax tun:

/path/to/*:somenode
Question

Mein Ziel ist es, bestimmte Knoten aus mehreren XML-Dateien mit mehreren Namespaces mit XPath zu extrahieren. Alles funktioniert gut, solange ich die Namespace-URIs kenne. Der Namespace-Name selbst bleibt konstant, aber die Schemas (XSD) sind manchmal clientgeneriert, dh mir unbekannt. Dann habe ich im Wesentlichen drei Möglichkeiten:

  1. Verwenden Sie nur ein Schema für den Namespace, in der Hoffnung, dass nichts schiefgeht (kann ich mir sicher sein?)

  2. Holen Sie die Children-Knoten des Dokuments und suchen Sie nach dem ersten Knoten mit einem Namespace-URI, in der Hoffnung, dass es dort ist und nur den URI verwenden, in der Hoffnung, dass es der richtige ist. kann aus mehreren Gründen schief gehen

  3. Irgendwie sage ich XPath: "Schau, ich interessiere mich nicht für die Namespaces, finde nur ALLE Knoten mit diesem Namen, ich kann dir sogar den Namen des Namespace nennen, nur nicht den URI". Und das ist die Frage hier ...

Dies ist keine Wiederholung von zahlreichen "Mein xpath-Ausdruck funktioniert nicht, da ich keine Namespace-Awareness kenne" -Fragen wie here oder here . Ich weiß, wie man das Namespace-Bewusstsein nutzt. Einfach nicht, wie man es los wird.




Related