JavaScript/Xpathは期待したとおりに動作しません。 (available on jsfiddle)XML名前空間に何か問題があり、ノード(タグ)名で要素をクエリできなくなっているようです。私は現在のノードのすべての子ノードを照会しようとした場合Javascript Xpathとデフォルトネームスペース
は、私は問題なく要素myElement
を見つける:
var xpathResult = xmlDoc.evaluate("child::*", rootElement, nsResolver, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null);
var queryEl;
if(queryEl = xpathResult.iterateNext()) {
alert("child::* found element " + queryEl.nodeName);
}
else {
alert("child::* found nothing!");
}
...しかし、私は、具体的myElement
ノード(タグ)名を持つノードをターゲット場合I結果が得られません:
/* Now try getting only those children with nodeName `myElement` */
xpathResult = xmlDoc.evaluate("child::myElement", rootElement, nsResolver, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null);
var queryEl;
if(queryEl = xpathResult.iterateNext()) {
alert("child::myElement found element " + queryEl.nodeName);
}
else {
alert("child::myElement found nothing!");
}
私は間違っていますか?
あなただけの問題を表示することができ、問題を分割していただけますか?短いと(の)有効な例として? – powtac
@powtac - 試してみましたが、実際にはXML文書を作成してから2つのクエリを作成します。それは本当に単なるテストケースです。 –