特定 xml 文档的 UNORDERED_NODE_ITERATOR_TYPE 有什么问题?

What's wrong with UNORDERED_NODE_ITERATOR_TYPE with a specific xml document?

我在检索 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 被很好地解析,因为我可以检索单个节点值。那么,我错过了什么?

不知道为什么,但对于某些操作,xml 文档不正确。我删除了它开始处理每个操作的每个节点蚂蚁的 xmlns="http://www.w3.org/1999/xhtml" 属性,甚至是此处发布的那个。