Heim >Backend-Entwicklung >C++ >Wie kann ich XPath mit einem Standard -Namespace in C# verwenden, um Knoten auszuwählen?
navigieren XML mit Standard -Namespaces in C# mit XPath
Arbeiten mit XML -Dokumenten, die Standard -Namespaces enthalten, erfordert häufig sorgfältige Handhabung von XPath -Ausdrücken, um die korrekten Auswahl von Knoten auszuwählen. Ein häufiger Fehler ist die Auslassung von Namespace -Präfixen und führt zu leeren Ergebnissen.
Dieses Problem wird gelöst, indem der Namespace explizit in Ihre XPath -Abfrage einbezieht. Während ein XPathNavigator
nicht streng erforderlich ist, sind die Methoden SelectNodes
oder SelectSingleNode
ausreichend.
Der entscheidende Schritt besteht darin, ein XmlNamespaceManager
zu erstellen. Das folgende Beispiel zeigt dies:
<code class="language-csharp">XmlElement el = ...; //TODO: Obtain your XmlElement XmlNamespaceManager nsmgr = new XmlNamespaceManager(el.OwnerDocument.NameTable); nsmgr.AddNamespace("x", el.OwnerDocument.DocumentElement.NamespaceURI); var nodes = el.SelectNodes("/x:outerelement/x:innerelement", nsmgr);</code>
Dieser Code -Snippet initialisiert zuerst ein XmlNamespaceManager
mit dem NameTable
aus dem Root des XML -Dokuments. Anschließend registriert der Standard -Namespace des Stammelements mit dem Präfix "x". Schließlich wird SelectNodes
mit dem XPath -Ausdruck aufgerufen, der jetzt das Präfix "x" enthält, wodurch die Auswahl der Zielknoten aktiviert wird. Denken Sie daran, den //TODO
Kommentar durch den Code zu ersetzen, um Ihr XmlElement
zu erhalten.
Das obige ist der detaillierte Inhalt vonWie kann ich XPath mit einem Standard -Namespace in C# verwenden, um Knoten auszuwählen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!