XPATH デフォルトの名前空間を含むXMLドキュメントを操作するには、多くの場合、ノードを正しく選択するためにXPath式を慎重に処理する必要があります。 よくある間違いは、名前空間のプレフィックスを省略し、空の結果セットにつながることです。
この問題は、名前空間をXPathクエリに明示的に組み込むことにより解決されます。 厳密には必要ありませんが、または
メソッドで十分です。
XPathNavigator
重要なステップは、SelectNodes
を作成することです。 次の例はこれを示しています:SelectSingleNode
を使用して、最初にXmlNamespaceManager
を初期化します。 次に、接頭辞「x」でルート要素のデフォルトの名前空間を登録します。 最後に、「X」プレフィックスを含むXPath式で
<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>。
以上がC#のデフォルトの名前空間でXPathを使用してノードを選択するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。