MarkLogic 8 服务器端 javascript:将现有 xml 转换为 json

MarkLogic 8 server-side javascript: convert existing xml to json

我正在 MarkLogic 8 中试用新的服务器端 javascript API。我主要对搜索感兴趣。我看到的示例首先将 JSON 保存到数据库中,然后搜索本机 JSON。这不是我的用例,因为我的公司已经将大量本地 XML 存储在数据库中。我想使用 javascript 来搜索文档,我想要 JSON.

中的搜索结果

从 javascript 甚至有可能吗?当我 运行 下面的代码(从其中一个示例修改)时,结果是一个字符串数组,其中每个字符串都是一个完整的 XML 文档。不是我想要的。是否有 API 调用将每个结果转换为 JSON?

var count = 0;
var results = [];
for (var result of cts.search(cts.wordQuery("value1"))) {
    count++;
    results.push(result); 
};
results.push(fn.concat("Count = ", count));
results;

是的,您可以通过 JavaScript 搜索和操作 XML 内容,尽管通常 JavaScript 原生处理 JSON 更好,XQuery 处理 XML 更好天生的。我的意思是,语言是围绕这些数据格式设计的,并不是说在其中一种语言中没有什么是你做不到的。

您不需要将 XML 翻译成 JSON(除非您真的想要)。搜索的结果将是一个文档节点,您可以使用 DOM API 或任何对节点进行操作的内置函数来处理结果。