【发布时间】:2021-09-23 08:45:10
【问题描述】:
我有下面的 Java 类,它将 JSON 文件名作为输入并将其转换为 XML 并在同一路径中创建一个新的 XML 文件。
public void convertJsonToXml(String jsonFilePath) {
try {
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.enable(SerializationFeature.INDENT_OUTPUT);
Products products = objectMapper.readValue(Paths.get(jsonFilePath).toFile(), Products.class);
XmlMapper xmlMapper = new XmlMapper();
xmlMapper.writeValue(new File("./metadata/FilteredPatches.xml"), products);
}
catch (JsonMappingException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
catch (JsonProcessingException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
但是新的 XML 文件丢失了有效的 XML 格式,并在一行中打印了 XML 数据,如下所示
<Products xmlns=""><product><product><name>FileZilla 3</name><patchuid>0003931b-0000-0000-0000-000000000000</patchuid><language>0</language></product><product><name>Notepad++ 6</name><patchuid>00038b09-0000-0000-0000-000000000000</patchuid><language>0</language></product><product><name>UltraVNC 1.2.4.0 x86</name><patchuid>00035767-0000-0000-0000-000000000000</patchuid><language>0</language></product></product></Products>
关于发生了什么问题的任何线索?谢谢。
【问题讨论】:
-
Underscore-java库有一个静态方法U.jsonToXml(json)。