Преобразование XML в JSON в серверном JavaScript на MarkLogic
У меня есть следующий xml, извлеченный из документа:
<res>
<basic:coordinates type="array" xmlns:basic="http://marklogic.com/xdmp/json/basic">
<basic:item type="number">12.1479335</basic:item>
<basic:item type="number">-68.2676857</basic:item>
</basic:coordinates>
</res>
Теперь я хочу, чтобы это было преобразовано в JSON, например:
{"coordinates": [0.0,0.0]}
У меня есть запрос как:
resjson.coordinates =
xdmp.toJSON(fn.string(
res.getElementsByTagNameNS(
"http://marklogic.com/xdmp/json/basic",
"coordinates")));
дает
"coordinates": "12.1479335-68.2676857"
Который не является массивом...
1 ответ
Хм, я надеялся на более элегантное решение, так как координаты - это уже массив... но:
var pnts = res.xpath(".//basic:item/text()", {"basic":"http://marklogic.com/xdmp/json/basic"});
res.coordinates = xdmp.toJSON(pnts);
делает трюк