我正在尝试做一个 POC 将 json 转换为 xml 格式。现在我通过 java 使用 Saxon-HE 版本 9.8.0-5
让我们假设一个简单的 json 为:
{
"Assets": [
{ "Asset": {
"Open": "25.15",
"High": "25.15",
"Low": "25.11",
"Close": "25.87"
}},
{ "Asset": {
"Open": "25.15",
"High": "25.15",
"Low": "25.11",
"Close": "25.87"
}}
]
}
现在java代码如下:
public void transform(File xsl, File inputjson, File outputXml) throws TransformerException, IOException {
TransformerFactory factory = new net.sf.saxon.TransformerFactoryImpl();
Source xslt = new StreamSource(xsl);
Transformer transformer = factory.newTransformer(xslt);
System.out.println("transformer object created");
Source text = new StreamSource(inputjson);
transformer.transform(text, new StreamResult(outputXml));
}
但我得到以下错误:
sample_test1.json 的第 1 行第 1 列出错:SXXP0003:XML 解析器报告的错误:prolog 中不允许内容。
当我尝试将 json 内容放在任何 xml 元素中并对其进行处理时,它是成功的。为什么??我们不能直接处理 json 而不将其内容放入任何 xml 结构中吗?