У меня есть 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!");
}
Что я делаю не так?