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

MarkLogic 8服务器端javascript:将现有xml转换为json,marklogic,Marklogic,我正在MarkLogic8中试用新的服务器端javascript API。我主要对搜索感兴趣。我看到的示例首先将JSON保存到数据库中,然后搜索本机JSON。这不是我的用例,因为我的公司已经在数据库中存储了大量的原生XML。我想使用javascript来搜索文档,并希望搜索结果是JSON格式的 这甚至可以通过javascript实现吗?当我运行下面的代码时(根据其中一个示例修改),结果是一个字符串数组,其中每个字符串都是一个完整的XML文档。不是我想要的。是否存在将每个结果转换为JSON的API

我正在MarkLogic8中试用新的服务器端javascript API。我主要对搜索感兴趣。我看到的示例首先将JSON保存到数据库中,然后搜索本机JSON。这不是我的用例,因为我的公司已经在数据库中存储了大量的原生XML。我想使用javascript来搜索文档,并希望搜索结果是JSON格式的

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

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或在节点上运行的任何内置函数来处理结果。

有关一些示例,请参阅中的“使用XML”部分。有关更多详细信息,请参阅。感谢您的回复@DaveCassel,你的第一个链接非常有用。在搜索结果上使用XPath并不困难,生成的代码比XQuery更紧凑,更易于阅读和理解。