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);
来源:oschina
链接:https://my.oschina.net/u/166585/blog/228457