У меня есть JavaScript/Xpath, который работает не так, как я ожидал. (доступно на jsfiddle) Кажется, что я делаю что-то не так с пространством имен XML, что не позволяет мне запрашивать для моих элементов по их именам узлов (тегов).
Если я попытаюсь запросить все дочерние узлы текущего узла, я без проблем найду элемент 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
, я не получаю никаких результатов:
/* 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!");
}
Что я делаю не так?