„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie gehe ich mit XML-Namespaces in Java XPath-Abfragen um?

Wie gehe ich mit XML-Namespaces in Java XPath-Abfragen um?

Veröffentlicht am 22.12.2024
Durchsuche:237

How to Handle XML Namespaces in Java XPath Queries?

XML-Namespace-Handhabung in Java-XPath-Abfragen

In Java können Namespaces beim Abfragen von XML mit XPath eine Herausforderung darstellen. Wenn XML keine Namespaces enthält, können XPath-Abfragen unkompliziert sein, aber das Vorhandensein von Namespaces bringt Komplexität mit sich.

Fall 1: XML ohne Namespaces

Für XML ohne Namespaces: XPath Abfragen verwenden den Standard-Namespace, der praktisch kein Namespace ist. In diesem Fall können Abfragen wie „/workbook/sheets/sheet[1]“ problemlos Elemente abrufen.

Fall 2: XML mit Namespaces

Jedoch XML mit Namespaces wie die folgenden erhöhen die Komplexität:



  
    
  

In solchen Fällen schlägt der XPath-Ausdruck „/workbook/sheets/sheet[1]“ fehl, da die Elemente an „http://schemas.openxmlformats.org/spreadsheetml/“ gebunden sind. 2006/Hauptjahr" Namespace.

Lösungen:

  1. Namespace-Registrierung: Die bevorzugte Methode besteht darin, den Namespace mit einem Präfix zu registrieren und ihn im zu verwenden XPath-Abfrage erleichtert das Lesen und Verwalten.
  2. Generischer Match mit Prädikat: Ohne Namespace Registrierung kann ein komplexerer XPath-Ausdruck verwendet werden:
/*[local-name()='workbook' and namespace-uri()='http://schemas.openxmlformats.org/spreadsheetml/2006/main']
  /*[local-name()='sheets' and namespace-uri()='http://schemas.openxmlformats.org/spreadsheetml/2006/main']
  /*[local-name()='sheet' and namespace-uri()='http://schemas.openxmlformats.org/spreadsheetml/2006/main'][1]
  1. Lokaler Namensabgleich: Eine weniger bevorzugte Option besteht darin, nur den lokalen Namen des Elements abzugleichen und den Namespace zu ignorieren. Dies birgt jedoch die Gefahr, dass bei gemischten Vokabularien falsche Elemente ausgewählt werden existieren.
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3