【问题标题】:XSLT 3 : convert xml to jsonXSLT 3:将 xml 转换为 json
【发布时间】: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


    【解决方案1】:

    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 中,并且是 maparraystringbooleannumber 等,以反映 JSON 数据类型。

    错误消息表明您的输入在无命名空间中包含名为 wrapper 的元素,因此这肯定不是该函数的正确格式。您将需要使用额外的转换步骤将您的 XML 转换为函数期望的格式。

    【讨论】:

    • 感谢@Martin 的建议。现在我正在使用不同的库将 xml 转换为 json ..
    猜你喜欢
    • 2020-01-26
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 2019-12-28
    • 1970-01-01
    • 1970-01-01
    • 2018-12-04
    相关资源
    最近更新 更多