Java:XML到对象(或数组)
我怎么能将XML文档转换为Java对象(或数组)? 我像这样重写XML:
DocumentBuilderFactory dFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder dBuilder = dFactory.newDocumentBuilder(); Document doc = dBuilder.parse(new File("file.xml")); doc.getDocumentElement().normalize();
现在我希望XML作为对象(或数组),但我该怎么做呢? 是否有任何方法或教程或课程可以做到这一点?
您将需要JAXB解组 。
使用XStream 。
对象到XML
Person joe = new Person("Joe", "Walnes"); joe.setPhone(new PhoneNumber(123, "1234-456")); joe.setFax(new PhoneNumber(123, "9999-999")); String xml = xstream.toXML(joe);
生成的XML如下所示:
Joe Walnes 123
1234-456 123
9999-999
XML到对象
Person newJoe = (Person)xstream.fromXML(xml);
另见
-
参考
-
简单
我建议使用XStream进行XML(反)序列化。 它比使用Java的内置XML API简单。
我会看一下JAX / B,它提供了一种在Java对象和XML表示之间“绑定”的方法。
我在这里用基于Rational Eclipse的工具做了一个小小的写作,但似乎也有(自己从未使用过)直接的Eclipse插件,例如这个 。
确实可以手工编写JAX / B,对复杂的XML有点沉闷,但注释非常简单。
我使用过Simple XML ,发现它非常简单和强大。 我不熟悉XStream,但是Simple允许您使用注释来控制XML模式,这为您提供了很多自由。 写这篇文章的人总是对他的邮件列表做出回应。