Преобразование 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);

делает трюк

Другие вопросы по тегам