开源项目Xstream简介2



XStream主 要应用于以下场合:
数据对象的持久化数据交换配置文件
XStream系 统架构分析

XStream的架构主要由四部分组成:

    Converters(转换器)
  
    当XStream遇 到需要轮换的对象时,它会委派给合适的转换器实现,XStream为通用类型提供了多种转换器实现,包括基本数据类型、String、 Collections、Arrays、null、Date,等等。
  
    XStream提供了缺省的转换器,当需要转换 的数据对象没有匹配的转换器时会使用。是通过反射机制自动完成对对象内所有字段的映射。

    IO(输入/输出)
  
    XStream是 通过接口HierarchicalStramWriter和HierarchialStreamReader从底层XML数据中抽象而来的,上面的接口分 别用于序列化和反序列化操作。
  
    该 特性使得XStream可 以直接使用XML解析类从数据流中读取数据,或者是直接从已经存在的结构中提取数据(比如DOM)。如果XStream所操作的 XML数据已经部分被其它XML解析类处理过了(比如SOAP类的实例),这样就可以避免在我们这一层的再次解析操作。

    Context(上下文引用)

    在XStream序列化或反序列化对象时,它会创建两个类MarshallingContext和 UnmarshallingContext,由它们来处理数据,以及委派合适的转换器。
  
    XStream提 供了三对上下文的缺省实现,它们之间有着细微的差别。缺省值可以通过方法XStream.setMode()来改变,需要传递下面参数 中的一个:
  
    XStream.XPATH_REFERENCES
    (缺省的)通过XPath引用来标识重复的引用。这样产生的XML具有最小的混乱性。
  
    XStream.ID_REFERENCES
    使用ID引用来标识重复的引用。在一些场合,比如使用手写XML时,这样将会更易于操作
  
    XStream.NO_REFERENCES
    这种情况将失去对图形对象的支持,仅把对象看作为树型结构。重复的引用被视作两个不同的对象,循环引用会导致异常产生。相对于上面两种模式,这种模式速度 会更快,占用内存会更
  

你可能感兴趣的:(数据结构,xml,SOAP)