私が使用することを教えている場合、私はそれcreateNSResolverと同等のInternet Explorerは何ですか?
x.selectNodes('//a:book').length //gives 1, as desired
でXPathクエリを実行するしかし、ときに私はデフォルトではこの
<a:books xmlns:a="ans">
<a:book>
<a:id> 1 </a:id>
<a:title>The first book</a:title>
</a:book>
</a:books>
のようなXMLファイルを持って、IEはXML自体からプレフィックスを認識し、 XPath選択言語を他のブラウザと一緒に使用すると、元のXMLで使用されている接頭辞の認識が停止します。
x.setProperty('SelectionLanguage', 'XPath')
x.selectNodes('//a:book').length
//throws an error: "Referência a um prefixo de espaço para nome não declarado: 'a'."
// I would translate it as "reference to an undeclared namespace prefix".
は、私は、エラーを停止するx.setProperty('SelectionNamespaces', "xmlns:a='ans'")
を使用することができます知っているが、私ができるようにプログラム的a->ans
関係を取得する方法は、他のブラウザでx.createNSResolver(x)
を使用することによって、あるのでしょうか?
:something'接頭辞:私は 'doc.documentElement.attributes'や魚を介してすべての'のxmlnsを行くべきと言っていますか? – hugomg
はい、それは私が提案したものです。投稿を編集してサンプルコードを追加します。 –