javascript - 从 ValueIterator 或 Array 获取 XML 元素

标签 javascript marklogic marklogic-8

我有 ValueIterator 形式的 cts.search 结果。结果是一些 XML 文档。我正在寻找 JavaScript 中的 XPath 替代方案。我尝试使用 getElementByTagNameNS ,但为此我需要迭代每个元素。我尝试过类似的东西 -

var arr = searchResult.toArray();
var ids = [];
for(var j=0; j<arr.length; j++) {
  ids.push(arr[j].getElementsByTagNameNS(c, 'id')[0].textContent)
}

我可以在没有循环的情况下做到这一点吗?不迭代每个元素?

最佳答案

我不确定是否要完全删除迭代(因此您有一个迭代器)。也许在 MarkLogic 中,当你有一个序列时,事情就会改变。

这是我能看到的最能帮助你的:
1) 不强制转换为数组
2)Javascript中的xpath示例

var res = [];
for (var doc of cts.search("whatever")){
  res.push(doc.xpath("/path/to/whatever/text()"))  
}

关于javascript - 从 ValueIterator 或 Array 获取 XML 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41900177/

相关文章:

javascript - 如何呈现通过表单提交的 HTML?

javascript - JavaScript 中的 Require() 函数

xml - 如何从 XML 中获取所有属性名称,而不是特定节点的值?

rest - 有没有办法使用 Rest API 检索 MarkLogic 服务器版本?

marklogic - 从多个集合中检索文档

rest - 带有上次登录数据库的 MarkLogic 用户管理

javascript - 使用 JavaScript 获取 div 滚动位置。

javascript - 热点中的垂直视差滚动

xquery - 在 Marklogic (XQuery) 中使用时间戳生成不重复的随机数?

java - 使用 java api 对文档元数据执行范围搜索