XSLT 转换 JSON 到 XML 错误 "Content is not allowed in prolog"

XSLT transformation JSON to XML Error "Content is not allowed in prolog"

我想将 JSON 文件转换为 xml。

java -jar c:\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 添加到 change/set 该全局参数。因此,根本不要使用 -s,而是使用 -it(如给定的那样)并在您拥有的代码或命令行中为 input 参数添加正确的参数值。