XPath式を使用してXMLドキュメントからノードを選択する前に、URIをハードコーディングしてからプレフィックスを割り当てる必要があります。この情報をプログラムで取得することは可能ですか?
これがそれを行う唯一の方法ですか?
string uri = xml.SelectSingleNode("*").Attributes["xmlns"].Value?
XPath式を使用してXMLドキュメントからノードを選択する前に、URIをハードコーディングしてからプレフィックスを割り当てる必要があります。この情報をプログラムで取得することは可能ですか?
これがそれを行う唯一の方法ですか?
string uri = xml.SelectSingleNode("*").Attributes["xmlns"].Value?
私が提案できる唯一の良い代替案は(特に名前でノードを選択したいと仮定して)使用することlocal-name()
です:
XmlNode foundNode = xml.SelectSingleNode("/*[local-name() = 'a']/*[local-name() = 'b']/*[local-name() = 'c']");
ドキュメントをクエリして、使用されている名前空間を見つけることができます。たとえば、XPath式namespace-uri(/ *)は、最も外側の要素の名前に使用される名前空間を検索します。