2016-07-08 9 views
2

Ich habe die folgenden XML-Daten aus einem Dokument abgerufen:XML zu JSON in serverTrans Javascript Marklogic

<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> 

Jetzt möchte ich diese wie zu JSON umgewandelt werden:

{"coordinates": [0.0,0.0]} 

habe ich eine Abfrage wie:

resjson.coordinates = 
    xdmp.toJSON(fn.string(
     res.getElementsByTagNameNS(
     "http://marklogic.com/xdmp/json/basic", 
     "coordinates"))); 

gibt

"coordinates": "12.1479335-68.2676857" 

Welche kein Array ist ...

Antwort

1

hmmm Ich war für eine elegantere Lösung der Hoffnung, wie die Koordinaten bereits ein Array ist ... aber:

var pnts = res.xpath(".//basic:item/text()", {"basic":"http://marklogic.com/xdmp/json/basic"}); 
res.coordinates = xdmp.toJSON(pnts); 

funktioniert der Trick

+0

Bitte akzeptieren Sie Ihre Antwort, so dass es klar ist, dass dieser eine Lösung hat –