XStream转换时忽略未知字段

来源:互联网 发布:淘宝网小众女鞋店 编辑:程序博客网 时间:2024/05/16 18:03

XStream是一个用于将对象序列化为xml以及将xml生成对象的库,通过它可以非常方便的做对象与xml(json等其他格式)之间的转换。但是在使用XStream过程中,会遇到xml元素与对象元素并不是一一匹配的情况,而导致程序抛出异常。通过以下方法可以解决这个问题:

  • XML转为对象时XML的要素比对象多

  1. <code class="hljs r">public class LetterHolder {  
  2.   private String A;  
  3.   private String B;  
  4.   // getters and setters <span class="hljs-keyword">...</span>  
  5. }  
  6.    
  7. <LetterHolder>  
  8. <A>This is letter A</A>  
  9. <B>B</B>  
  10. <C>C</C>  
  11. </LetterHolder></code>  

这时候我们可以使用这两个函数,告诉XStream要忽略掉未知的XML要素
ignoreUnknownElements();
ignoreUnknownElements(String pattern);

注意:XStream老版本可能没有这个函数(应该是1.4.5以上版本)

  • 对象转为XML时想忽略掉对象中的某些元素

  1. <code class="hljs r">public class LetterHolder {  
  2.   private String A;  
  3.   private String B;  
  4.   private String C;  
  5.   // getters and setters <span class="hljs-keyword">...</span>  
  6. }  
  7.    
  8. <LetterHolder>  
  9. <A>This is letter A</A>  
  10. <B>B</B>  
  11. </LetterHolder></code>  

这时候我们可以使用这个函数,设置组织序列化的元素
omitField(Class definedIn, String fieldName);


http://blog.csdn.net/micwing/article/details/51668816

http://blog.csdn.net/jingzi0418/article/details/51153020?utm_source=itdadao&utm_medium=referral

原创粉丝点击