2017-04-16 51 views
0

我想JSON数组转换为XML,但在转换过程中会生成无效的XML文件:如何添加包装而转换JSON数组对象到XML在Java中

String str = "{ 'test' : [ {'a' : 'A'},{'b' : 'B'}]}"; 
JSONObject json = new JSONObject(str); 
String xml = XML.toString(json); 

我用上面的代码中Converting JSON to XML in Java

建议

但是,如果我试图JSON对象转换为XML它给无效的XML(错误:The markup in the document following the root element must be well-formed.),这是

<test><a>A</a></test><test><b>B</b></test> 

可有人告诉米e如何从JSON数组中获取有效的XML,或者如何在转换为XML时包装JSON数组?

在此先感谢。

回答

1

XML文档只能有一个根元素。你的XML结果居然是:

<test> 
    <a>A</a> 
</test> 
<test> 
    <b>B</b> 
</test> 

其中第二test元素是文档的根元素的结束标记后明确。 XML.toString有一个漂亮的过载接受对象和字符串围住结果XML:

final String json = getPackageResourceString(Q43440480.class, "doc.json"); 
final JSONObject jsonObject = new JSONObject(json); 
final String xml = XML.toString(jsonObject, "tests"); 
System.out.println(xml); 

现在输出XML是良好形成:

<tests> 
    <test> 
     <a>A</a> 
    </test> 
    <test> 
     <b>B</b> 
    </test> 
</tests> 
+0

谢谢:)... – PrashantP