Я конвертирую XML в Json, когда дело с данными со смешанным содержимым проигрывает.
У меня есть данные, имеющие элемент "uidlink" внутри элемента "abs", этот элемент повторяется два раза в элементе "abs" до того, как полностью исчезнут вторые данные "uidlink" вместе с "uidlink".
что мне не хватает в пользовательских настройках?
Input
<?xml version="1.0" encoding="UTF-8"?>
<abs>We are disconnected [Abs. <uidlink saiss="1917-02">1917A00171</uidlink> The extraordinarily
insightful Nature of Americans study illuminates both .[Abs. <uidlink saiss="1917-08"
>1917A00726</uidlink>]. or example, the insight that nature experiences are so often
intensely social activities, a reminder of a sometimes forgotten key to connecting.</abs>
Код
declare function utils:ConvertXmlToJson($HighLightResponse as item()*) as item()*
{
let $config := json:config("custom")
let $_ := map:put( $config, "whitespace", "ignore" )
let $_ := map:put( $config, "array-element-names", (xs:QName("results"),xs:QName("personName"),xs:QName("affiliationGroup"),xs:QName("Highlight")
,xs:QName("match"),xs:QName("indexTerms"),xs:QName("classification"),xs:QName("foreNames"),xs:QName("treatmentCodes")) )
let $_ := map:put( $config, "camel-case", fn:true())
let $JsonOutput := json:transform-to-json($HighLightResponse, $config)
let $InputJson := xdmp:quote($JsonOutput)
let $Result := fn:replace($InputJson, 'zzz@start', '<highlight>')
let $JsonResult := fn:replace($Result, 'zzz@end', '</highlight>')
return
$JsonResult
};