XStream是一个用于将对象序列化为xml以及将xml生成对象的库,通过它可以非常方便的做对象与xml(json等其他格式)之间的转换。但是在使用XStream过程中,会遇到xml元素与对象元素并不是一一匹配的情况,而导致程序抛出异常。通过以下方法可以解决这个问题:
-
XML转为对象时XML的要素比对象多
public class LetterHolder {
private String A;
private String B;
// getters and setters ...
}
<LetterHolder>
<A>This is letter A</A>
<B>B</B>
<C>C</C>
</LetterHolder>
这时候我们可以使用这两个函数,告诉XStream要忽略掉未知的XML要素
ignoreUnknownElements();
ignoreUnknownElements(String pattern);
注意:XStream老版本可能没有这个函数(应该是1.4.5以上版本)
-
对象转为XML时想忽略掉对象中的某些元素
public class LetterHolder {
private String A;
private String B;
private String C;
// getters and setters ...
}
<LetterHolder>
<A>This is letter A</A>
<B>B</B>
</LetterHolder>
这时候我们可以使用这个函数,设置组织序列化的元素
omitField(Class definedIn, String fieldName);
本文介绍XStream库用于XML与对象之间的转换,并提供了解决XML元素与对象元素不匹配导致异常的方法。包括如何忽略XML中未知的额外元素以及如何在序列化时排除对象中的特定字段。
763

被折叠的 条评论
为什么被折叠?



