XStream是一个用于将对象序列化为xml以及将xml生成对象的库,通过它可以非常方便的做对象与xml(json等其他格式)之间的转换。但是在使用XStream过程中,会遇到xml元素与对象元素并不是一一匹配的情况,而导致程序抛出异常。通过以下方法可以解决这个问题:
XML转为对象时XML的要素比对象多
public class LetterHolder { private String A; private String B; // getters and setters ...}This is letter A B C
这时候我们可以使用这两个函数,告诉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 ...}This is letter A B
这时候我们可以使用这个函数,设置组织序列化的元素
omitField(Class definedIn, String fieldName);