Java中的XML序列化?

时间:2020-03-05 18:45:23  来源:igfitidea点击:

.NET的XML序列化的Java模拟是什么?

解决方案

回答

如果我们在谈论对象的XML自动序列化,请查看Castor:

Castor is an Open Source data binding framework for Java[tm]. It's the shortest path between Java objects, XML documents and relational tables. Castor provides Java-to-XML binding, Java-to-SQL persistence, and more.

回答

XStream非常擅长将对象序列化为XML,而无需进行大量配置和花费! (它已获得BSD许可)。

我们在一个项目中使用它来替换普通的旧Java序列化,并且它几乎可以立即使用。

回答

2008答案
现在,"官方" Java API是用于XML绑定的JAXB Java API。请参见Oracle教程。参考实现位于http://jaxb.java.net/

2018更新
请注意,JDK9中的SE中不推荐使用Java EE和CORBA模块,而JDK11中的SE和Java EE和CORBA模块已从SE中删除。因此,要使用JAXB,它或者需要位于我们现有的企业级环境中(例如,应用服务器,否则我们将需要手动将其引入。

回答

如果我们有用于XML的架构,那么XMLBeans的效果很好。它为模式创建Java对象,并创建易于使用的解析方法。

回答

通常,如果需要创建可序列化为XML的对象,则通常使用jaxb或者XMLBeans。现在,我可以看到XStream可能是非常有用的,因为它是非侵入性的并且具有非常简单的api。我会尽快使用它,并可能会使用它。我注意到的唯一缺点是,我无法自行创建对象的ID进行交叉引用。

@巴拉克·席勒(Barak Schiller)
感谢我们发布指向XStream的链接!

回答

我们可能需要查看简单XML序列化项目。这是我在.Net中找到的最接近System.Xml.Serialization的东西。

回答

不要忘记JiBX。

回答

JAXB是JDK标准版本1.6+的一部分。因此它是"免费"的,没有额外的库可供下载和管理。
一个简单的例子可以在这里找到

XStream似乎已经死了。最近一次更新是在2008年12月6日。
"简单"似乎和JAXB一样容易和简单,但是我找不到任何许可信息来评估它以供企业使用。