什么是服务器端javascript等价于xquery的xpath ?
What is the server side javascript equivilant to xpath for xquery
给定一个这样的集合:
collection : [
'doc1.json' : {
someXPath : [
{ expression : 'a' },
{ expression : 'b' },
{ expression : 'c' },
],
otherLargeObject : [ ... ]
},
'doc2.json' : {...},
'doc3.json' : {...}
]
使用Xquery我可以选择集合的子节点如下:
fn:doc()//someXPath/expression/text()
的结果如下:
[ 'a', 'b', 'c', ... ]
上面的语法很简洁,结果只包含我想要的数据。
使用Javascript我会尝试以下操作:
var results = [];
for (var doc of fn:doc()) {
if (doc.someXPath) {
results.push(doc.someXPath.map(function (x) {
return x.expression;
})
}
}
javascript代码冗长且不通用。xquery示例匹配具有不同嵌套级别的其他文档结构,而不需要额外的条件。
doc迭代器是在内存中检索整个文档还是只检索被访问的部分?例如,otherLargeObject是加载到内存中的javascript版本?javascript版本是否与xquery版本一样高效?是否可能出现如下情况?
var result = [];
for (var justTheNodesIWant in fn:doc()('//someXPath/expression/text()') {
result.concat(justTheNodesIWant);
}
result; // ['a', 'b', 'c', ... ]
是否有一个等效的方法来实现xquery的结果和性能使用服务器端javascript?
可以:
var results = [];
for (var exp of xdmp.xqueryEval('fn:doc()/someXPath/expression')) {
results.push(exp);
}
results
的缺点是语言的混合,包括在字符串中嵌入代码。
相关文章:
- Xpath运行缓慢的查询
- 使用xpath选择所有具有onclick的锚标记
- 如何使用javascript和xpath获取图像src
- 使用XPath样式访问Javascript JSON对象属性
- 最好使用JavaScript还是XQuery
- Xpath对Selenium Web驱动程序无效”;Xpath未找到”;
- Javascript:在jQuery中使用xpath
- 如何使用xpath和Javascript执行器打印文本
- 如何使用Javascript获得相对Xpath
- XQuery 序列等效于 MarkLogic 服务器端 JavaScript
- Scrapy和Xpath从javascript代码中提取数据
- XPath以基于另一个节点按位置选择节点's的位置
- 使用xPath从Jquery数据验证程序获取输入
- 具有长xpath的延长器xpath标识
- ajaxslt 无法使用 XPATH 获取节点
- 在 JavaScript 中查找包含 XPath 字符串的所有元素
- 节点中带有空格的 XPath 表达式表示挑衅.js
- 正在nodejs+xpath中获取节点
- 是否有等价于XQuery/XPath的JSON
- 什么是服务器端javascript等价于xquery的xpath ?