XSLT将JSON转换为XML错误“;prolog中不允许包含内容;

XSLT将JSON转换为XML错误“;prolog中不允许包含内容;,json,xslt,saxon,xslt-3.0,Json,Xslt,Saxon,Xslt 3.0,我想将JSON文件转换为xml java-jarc:\saxon\saxon9he.jar-s:c:json-xsl:c:test.xsl-o:c:xml 用于转换的XSLT: > <?xml version="1.0" encoding="ISO-8859-1"?> > <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="3.0"> >

我想将JSON文件转换为xml

java-jarc:\saxon\saxon9he.jar-s:c:json-xsl:c:test.xsl-o:c:xml

用于转换的XSLT:

>     <?xml version="1.0" encoding="ISO-8859-1"?>
>     <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="3.0">
>         <xsl:output method="xml" indent="yes"/>
>         <xsl:param name="input" select="'../json/test.json'"/>
>         <xsl:template name="xsl:initial-template">
>             <xsl:apply-templates select="json-to-xml(unparsed-text($input))" mode="copy"/>
>         </xsl:template>
>         <xsl:template match="node() | @*" mode="copy">
>             <xsl:copy>
>                 <xsl:apply-templates select="node() | @*" mode="copy"/>
>             </xsl:copy>
>         </xsl:template>    
>     </xsl:stylesheet>
>
>     
>         
>         
>         
>             
>         
>         
>             
>                 
>             
>             
>     
我认为处理器期望一个XML文件作为输入。我必须使用哪个处理器,还是有其他错误


提前谢谢

有命令行选项
-it
,您可以使用它开始处理命名模板
xsl:template name=“xsl:initial template”
。然后,您可以将任何JSON文件作为参数传入,就像您的示例在代码中已经做的那样,在命令行上添加
input=foo.JSON
以更改/设置该全局参数。因此,不要使用
-s
,而是使用
-it
(如给定)并为
输入
参数添加正确的参数值,无论是在代码中还是在命令行上