【问题标题】:saxonica - How to use XPath/XSLT fn:json-to-xmlsaxonica - 如何使用 XPath/XSLT fn:json-to-xml
【发布时间】:2017-10-22 13:31:05
【问题描述】:

有没有人成功使用这个命令行示例?使用来自this link posted by Michael Kay (founder of Saxonica)的硬编码json字符串如下命令:

java -cp Saxon-HE-9.7.0-18.jar net.sf.saxon.Query -t -qs:"json-to-xml('{\"x\":1}')" -o:output:some.xml

即使是 PE/EE,我也不断出现跟随错误:

  • 来自 Saxonica 的 Saxon-HE 9.7.0.18J
  • Java 版本 1.7.0_79 分析来自 {json-to-xml('{"x":1}')} 的查询
  • {json-to-xml('{"x":1}')} 中第 1 列第 1 行的静态错误
  • XPST0017:系统函数 json-to-xml#1 不适用于此主机语言/版本/许可证 查询中出现静态错误

谁能帮忙?

【问题讨论】:

    标签: java json xml saxon


    【解决方案1】:

    通过在命令行中指定版本“3.1”(-qversion:3.1),我能够成功使用该示例:

    C:\Windows\System32>java -cp "C:/apps/saxon/saxon9he.jar" net.sf.saxon.Query -t -qversion:3.1 -qs:"json-to-xml('{\"x\":1}')"
    Saxon-HE 9.7.0.8J from Saxonica
    Java version 1.8.0_60
    Analyzing query from {json-to-xml('{"x":1}')}
    Analysis time: 117.919941 milliseconds
    <?xml version="1.0" encoding="UTF-8"?><map xmlns="http://www.w3.org/2005/xpath-functions"><number key="x">1</number></map>
    Execution time: 40.174138ms
    Memory used: 29834272
    

    【讨论】:

    • 谢谢丹尼尔!这就是棘手的。不知道为什么他们的网站上没有记录。
    • @MichaelSun - 它已记录在案,但很容易被忽视。如果您访问 saxonica.com/documentation/index.html#!using-xquery/commandl‌​ine 并搜索“qversion”,您会看到默认的 xquery 版本是 3.0。另外,如果足够的话,请考虑接受我的回答(stackoverflow.com/help/someone-answers)。
    • 我的错;由于我正在做一个快速的 POC,所以我没有彻底检查文档,因此我错过了文档中如此重要的信息;
    • @MichaelSun - 没问题。很高兴我能帮助你。我仍然感谢您通过单击旁边的复选标记 (✅) 来接受答案。 :-)
    猜你喜欢
    • 1970-01-01
    • 2021-12-29
    • 1970-01-01
    • 2021-12-30
    • 1970-01-01
    • 2018-11-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多