Что не так с UNORDERED_NODE_ITERATOR_TYPE с конкретным XML-документом?

У меня возникли проблемы с получением элементов XML-документа. Я получил его через запрос, разобрал, а затем сделал следующее:

var results = xDoc.evaluate(
    "pets/pet[@name='Foo']",
    xDoc, null, XPathResult.UNORDERED_NODE_ITERATOR_TYPE, null 
);

var node = results.iterateNext(), i=0;
while (node) {
    node = results.iterateNext();
    i = i++;
}

В xml есть:

<pets>
      <pet name='Foo'/>
      <pet name='Bar'/>
      <pet name='Foo'/>
      <pet name='Foo'/>
</pets>

Дело в том, что оператор while никогда не выполняется. Но узлы в xml существуют, и xDoc хорошо проанализирован, потому что я могу получить значения отдельных узлов. Итак, что мне не хватает?


person gal007    schedule 22.06.2015    source источник


Ответы (1)


Не знаю почему, но для некоторых операций XML-документ был неверным. Я удалил атрибут xmlns="http://www.w3.org/1999/xhtml" каждого узла, и он начал работать с каждой операцией, даже с той, что опубликована здесь.

person gal007    schedule 23.06.2015