Я пытаюсь сделать один 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));
}
Но я получаю ошибку ниже:
Ошибка в строке 1 столбца 1 файла sample_test1.json: SXXP0003: синтаксический анализатор XML сообщил об ошибке: содержимое не разрешено в прологе.
Когда я попытался поместить содержимое json в любой элемент xml и обработать его, это было успешно. ПОЧЕМУ?? Можем ли мы напрямую обработать json как есть, не помещая его содержимое в какую-либо структуру xml?