Я работаю над проектом XML, и у меня возникает проблема при попытке подключить файл json к моему Xquery.
Я объясню свою проблему более подробно:
Я не знаю, как прочитать файл json в Xquery, я получил URL (этот URL содержит файл json) в Xquery, и этот URL следующий:
http://discomap.eea.europa.eu/ArcGIS/rest/services/Admin/EuroBoundaries_Dyna_WGS84/MapServer/2/query?text=&geometry=16.4027431529776,57.0126631873995&geometryType=esriGeometryPoint&inSR=&spatialRel=esriSpatialRelIntersects&where=&returnGeometry=false&outSR=&outFields=NUTS_CODE&f=json
Этот URL содержит следующую информацию:
{
"displayFieldName":"ICC",
"fieldAliases":{
"ICC":"ICC",
"NUTS_CODE":"NUTS_CODE"
},
"features":[{
"attributes":{
"ICC":"SE",
"NUTS_CODE":"SE21"
}
}]
}
Итак, мне нужно прочитать этот json-файл в Xquery или получить функцию для преобразования этого json-файла в xml-файл.
Через интернет я получил этот код:
Мы импортируем модуль json, где они являются функциями, но приведенный ниже URL не работает, поэтому невозможно разобрать эту функцию.
import module namespace json ="http://www.zorba-xquery.com/zorba/json-functions";
declare function xmlconv:RestWEB()
{
let $var := "&"
let $datocor1 := "16.4027431529776,"
let $datocor2 := "57.0126631873995"
let $dat1 := concat("geometry=",$datocor1, $datocor2)
let $dat2 := "geometryType=esriGeometryPoint"
let $dat3 := "inSR="
let $dat4 := "spatialRel=esriSpatialRelIntersects"
let $dat5 := "where="
let $dat6 := "returnGeometry=false"
let $dat7 := "outSR="
let $dat8 := "outFields=NUTS_CODE"
let $dat9 := "f=json"
let $URLinicial := concat($var,$dat1,$var,$dat2,$var,$dat3,$var,$dat4,$var,$dat5,$var,$dat6,$var,$dat7,$var,$dat8,$var,$dat9)
let $URLFinal := concat($restWeb2,$URLinicial)
let $FinalResult := json:parse((doc($URLFinal)))
return
<div>
{$FinalResult}
</div>
};
Как видите, json:parse((doc($URLFinal)))
- это функция, которую я пытаюсь проанализировать в файле json в файл xml, но выполнить ее невозможно, поскольку я не могу импортировать модули с этой страницы: www.zorba-xquery. ком / Зорб / JSON-функция.
Дайте мне знать, если вам известна какая-то функция для решения этой проблемы или вам нужна дополнительная информация.
Заранее спасибо
David