遍历 Saxon-JS 序列

Posted

技术标签:

【中文标题】遍历 Saxon-JS 序列【英文标题】:Iteration through a Saxon-JS sequence 【发布时间】:2018-08-20 01:33:55 【问题描述】:

javascript(托管在浏览器控制台上)...

var xmlDoc = jQuery.parseXML("<foo>Stuff</foo>");
for (let item of SaxonJS.XPath.evaluate( '/foo/text()', xmlDoc,
                 resultForm:'iterator')) console.log(item);

...返回错误...

SaxonJS.XPath.evaluate(...) is not a function or its return value is not iterable

...而不是预期的输出...

"Stuff"

为什么?

根据documentation here,evaluate() 表达式应该返回一个迭代器。但事实并非如此。

使用的库包括:

    jQuery;和 Saxon-jsjavascript 库。

更新

我可以使用这个替代表达式获得功能正确的结果...

for (let item of SaxonJS.XPath.evaluate('string(foo/text())',xmlDoc, 
  resultForm:'array')) console.log(item)

...但如果可能的话,我真的想使用惰性迭代器,而不是数组。

【问题讨论】:

【参考方案1】:

好的,我想我只是错误地调用了迭代器。这行得通...

SaxonJS.XPath.evaluate( '/foo/text()', xmlDoc,
  resultForm:'iterator').forEachItem( function( node)
    console.log( node))

【讨论】:

以上是关于遍历 Saxon-JS 序列的主要内容,如果未能解决你的问题,请参考以下文章

已知二叉树的先序遍历序列和中序遍历序列,输出该二叉树的后序遍历序列

数据结构-遍历序列求二叉树

由中序遍历序列和后序遍历序列构造二叉树

已知前序(后序)遍历序列和中序遍历序列构建二叉树(Leetcode相关题目)

由遍历序列构造二叉树(C语言)

由先序遍历序列和中序遍历序列确定二叉树