与创建JSON相比,是否有一种在Java中创建xml的简单方法

时间:2012-10-13 17:28:23

标签: java xml json

  

可能重复:
  Create XML file using java

在Java中创建JSONObject {"box":"tissue","desk":"wood"}我需要做的就是

JSONObject json = new JSONObject();
json.put("box","tissue");
json.put("desk","wood");

要创建JSONObject {"my-stuff":{"box":"tissue","desk":"wood"}},我需要做的就是

JSONObject json = new JSONObject();
json.put("box","tissue");
json.put("desk","wood");

JSONObject myStuff = new JSONObject();
myStuff.put("my-stuff",json);

然后,为了获得String个陈述,我只需json.toString()myStuff.toString()

我碰巧使用org.codehaus.jettison.json.JSONObject;,但实际上这就是JSONObject的工作原理。

是否有一种在Java中创建XML的等效简单方法?如果不是,那么,用XML做什么是最简单的方法 -

4 个答案:

答案 0 :(得分:3)

我建议Dom4J

Element root = DocumentHelper.createElement("my-stuff")
Document dom = DocumentHelper.createDocument(root);
root.addElement("box").setText("tissue");
System.out.println(dom.asXml());

答案 1 :(得分:2)

当然有,但如果你已经有一堆json代码,我建议你简单地将你的json变成xml ,就像这样:http://answers.oreilly.com/topic/279-how-to-convert-json-to-xml-in-java/

我为没有直接回答你的问题而道歉,但除非你已经实现了序列化包装,否则只需将json转换为xml就可以节省大量的开发时间(而不是复制你所在的每一行代码)添加/拉出你的json对象,或者 - 正如我前面提到的那样 - 实现一个序列化包装器。)

答案 2 :(得分:1)

你试过Xstream吗?如果你有一个很好的建模类,那么生成xml作为字符串是微不足道的。您还可以使用注释自定义输出。

答案 3 :(得分:0)

另外,请查看Groovy(与Java兼容),它是MarkupBuilder。有关示例,请参阅http://www.ibm.com/developerworks/java/library/j-pg05199/