有哪些开源库可以将 XML 转换为 java 值对象?
在 .Net 中,有一种方法可以通过 xml 序列化和属性轻松实现此目的。我想象java中有一些并行的东西。我知道如何使用 DOM 或 SAX 解析器来做到这一点,但我想知道是否有更简单的方法。
我有一个预定义的 XML 格式,看起来像这样。
<FOOBAR_DATA>
<ID>12345</ID>
<MESSAGE>Hello World!</MESSAGE>
<DATE>22/04/2009</DATE>
<NAME>Fred</NAME>
</FOOBAR_DATA>
在 .Net 中,我可以执行类似的操作将我的对象绑定到数据。
using System;
using System.Xml.Serialization;
namespace FooBarData.Serialization
{
[XmlRoot("FOOBAR_DATA")]
public class FooBarData
{
private int _ID = 0;
[XmlElement("ID")]
public int ID
{
get { return this._ID; }
set { this._ID = value; }
}
private string _Message = "";
[XmlElement("MESSAGE")]
public string Message
{
get { return this._Message; }
set { this._Message = value; }
}
private string _Name = "";
[XmlElement("NAME")]
public string Name
{
get { return this._Name; }
set { this._Name = value; }
}
private Date _Date;
[XmlElement("DATE")]
public Date Date
{
get { return this._Date; }
set { this._Date= value; }
}
public FooBarData()
{
}
}
}
我想知道是否有一种使用注释的方法(类似于 .Net 或 Hibernate),它允许我将值对象绑定到预定义的 XML。
I like XStream很多,特别是与 JAXB 相比 - 与 JAXB 不同,XStream 不需要您拥有 XSD。如果您有一些想要序列化和反序列化为 XML 的类,而不需要创建 XSD、运行 jaxc 从该模式生成类等繁琐操作,那么这非常好。另一方面,XStream 非常漂亮轻的。
(当然,有很多时候 JAXB 是合适的,例如当您有适合该场合的预先存在的 XSD 时......)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)