【发布时间】:2021-08-23 11:05:05
【问题描述】:
当我尝试使用 XSLT3 将 XML 转换为 JSON 时
我得到以下错误: net.sf.saxon.s9api.SaxonApiException:xml-to-json:在错误的命名空间中找到元素:Q{}wrapper
基本上,我将一个 xml 转换为另一个 xml,重命名某个字段。 将此 xml 作为输入传递给 xml-to-json() 。
有什么建议吗?
【问题讨论】:
标签: xslt-3.0
当我尝试使用 XSLT3 将 XML 转换为 JSON 时
我得到以下错误: net.sf.saxon.s9api.SaxonApiException:xml-to-json:在错误的命名空间中找到元素:Q{}wrapper
基本上,我将一个 xml 转换为另一个 xml,重命名某个字段。 将此 xml 作为输入传递给 xml-to-json() 。
有什么建议吗?
【问题讨论】:
标签: xslt-3.0
xml-to-json 使用的 XML 格式在 XSLT 3.0 规范 (https://www.w3.org/TR/xslt-30/#json-to-xml-mapping) 以及 XPath 和 XQuery 3.1 函数规范中指定:https://www.w3.org/TR/xpath-functions/#json。
基本上所有元素都需要在命名空间 http://www.w3.org/2005/xpath-functions 中,并且是 map、array、string、boolean、number 等,以反映 JSON 数据类型。
错误消息表明您的输入在无命名空间中包含名为 wrapper 的元素,因此这肯定不是该函数的正确格式。您将需要使用额外的转换步骤将您的 XML 转换为函数期望的格式。
【讨论】: