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
参数添加正确的参数值。
我想将 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
参数添加正确的参数值。