- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
假设我想在 XML 中存储许多小的配置对象,并且我不太关心格式。 XMLDecoder JDK 中内置的类可以工作,据我所知,XStream以类似的方式工作。
每个图书馆的优势是什么?
最佳答案
我真的很喜欢 XStream图书馆。它在输出相当简单的 xml 方面做得非常好作为提供的 Java 对象的结果。它非常适合复制对象也从 xml 返回。而且,我们的第 3 方库之一反正已经依赖它了。
我们选择使用它是因为我们想要我们的 xml 是人类可读的。使用别名功能使它变得很多更好。
如果你可以扩展库想要一个物体的一部分以更好的方式反序列化。我们在一种情况下这样做所以文件会有一组学位,纬度的分钟和秒和经度,而不是两个 double 。
两分钟的教程总结了基本用法,但在有兴趣将信息放在一个地方,我会尝试总结一下到这里,稍微短一点。
// define your classes
public class Person {
private String firstname;
private PhoneNumber phone;
// ... constructors and methods
}
public class PhoneNumber {
private int code;
private String number;
// ... constructors and methods
}
然后使用库写出 xml。
// initial the libray
XStream xstream = new XStream();
xstream.alias("person", Person.class); // elementName, Class
xstream.alias("phone", PhoneNumber.class);
// make your objects
Person joe = new Person("Joe");
joe.setPhone(new PhoneNumber(123, "1234-456"));
// convert xml
String xml = xstream.toXML(joe);
您的输出将如下所示:
<person>
<firstname>Joe</firstname>
<phone>
<code>123</code>
<number>1234-456</number>
</phone>
</person>
返回:
Person newJoe = (Person)xstream.fromXML(xml);
XMLEncoder 是为 Java bean 序列化而提供的。上次用的时候该文件看起来相当讨厌。如果真的不关心文件的样子,它可以为你工作,你可以避免第三方依赖,这也很好。我希望使序列化更漂亮的可能性对于 XMLEncoder 也是一个更大的挑战。
如果您不使用别名,XStream 会输出完整的类名。如果上面的 Person 类有
package example;
,则 xml 将有“example.Person”而不仅仅是“person”。
关于java - XMLEncoder 和 XStream 的相对优势是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/96059/
输出RSS和XML时经常用到,和HTMLEncode还不完全一样 原理: Character Converted To
我对 Java 编程/javafx 很陌生,正在尝试创建一个接受名字、姓氏、年龄输入的程序。将其打印到 javafx 中的 observablelist -> tableview。然后我得到了一个 a
我有一个方法可以将对象写入 XML 文件 public void save(OutputStream os) { XMLEncoder e = new XMLEncoder(new Buffe
xml编码问题 java xmlencoder 输出不正确。下面我以图像的形式给出了预期的输出。如何使用 xmlencoder 获得此输出或者是否有其他方法? public static String
我有一个用 XMLEncoder 编码的 JButton,一切都很好,直到我尝试添加一个 ActionListener。现在,我收到这条消息 java.lang.InstantiationExcept
我有这个java类 class Go { public boolean isSha1() { return true; } public String getSha1() {
我正在做一些关于 Java 的作业,但我不擅长它,并且在尝试使用 XMLEncoder 将 App 对象存储到文件时遇到问题。 简而言之,我的应用程序有一个名为 animal 的抽象类。另一个扩展了前
我正在尝试使用 XMLEncoder 将对象图(在我的例子中是树)写入文件。但是,其中包含的一个类实际上并不是一个 Java bean,我并不特别喜欢公开访问它的内容。它的访问方式更像是一个列表,并且
我只是想知道我如何使用 XMLEncoder 序列化 ArrayList其中 foo 是我自己制作的类(class)。 我是否必须做任何特别的事情,即首先定义我自己的 xml 结构,然后对列表中的每个
我对书中甚至在这里找到的所有观点感到非常困惑,所以请耐心等待! Clay Richardson 的 Professional Java JDK 6 中指出 you will notice that M
我正在使用 XMLEncoder 将对象图写入 XML 文件。除了 UUID 属性(在我的 JavaBean 中其名称为 id)之外,效果很好我知道我需要一个 PersistenceDelegate
我有一个非常专业的环境,我的任务是通过套接字发送以下 HTTP 请求:
如何实现可与 XMLEncoder/Decoder 一起使用的序列化代理?经典的(我的意思是 Bloch 的)不起作用... 最佳答案 我相信您需要为每个 Encoder 实例设置 Persisten
我有很多依赖 java.beans.XMLEncoder XML 格式的 XSL 转换,我想知道是否可以找到具有更好性能的直接替换库。我看过XStream但其序列化格式不同。 我正在寻找替换它,因为我
假设我想在 XML 中存储许多小的配置对象,并且我不太关心格式。 XMLDecoder JDK 中内置的类可以工作,据我所知,XStream以类似的方式工作。 每个图书馆的优势是什么? 最佳答案 我真
思路如下:XmlEncoder 记录了从零开始重现序列化 bean 所需的操作。但是,如果我们不从零开始呢? XmlEncoder 可以用来记录将一个对象转换为另一个对象所需的操作吗?是否可以使用 X
我正在尝试将一些数据放入 XML 文件中。这是代码: @Test public void TestProximities() { // Create a proximity ISpac
首先:我知道 SO 中有很多关于此的相关帖子,但我能找到的一篇对我的情况有所帮助。 所以,我正在做的是得到一个非常简单的父对象,它可能有多个子对象。这两个对象都符合 java bean 规范(所有变量
我编写了一个包含 HashMultiMap 的 bean 类(来自 Guava 库)。我想使用 JRE 的 XMLEncoder 对 bean 进行 XML 编码。使用自定义 PersistenceD
.NET 中是否有编码 和解码 XML 的方法?我似乎找不到它们,并且想知道为什么它们不存在以及应该使用什么来代替? 我需要对 XML 文档进行编码并将其传递给 Web 服务上的字符串参数。然后需要在
我是一名优秀的程序员,十分优秀!