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模式,这为您提供了很多自由。 写这篇文章的人总是对他的邮件列表做出回应。