`
- 浏览:
108984 次
- 性别:
-
java 代码
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileOutputStream;
- import java.io.InputStream;
- import java.io.InputStreamReader;
- import java.io.OutputStream;
- import java.io.OutputStreamWriter;
- import java.nio.charset.Charset;
- import java.util.ArrayList;
- import java.util.List;
-
- import com.thoughtworks.xstream.XStream;
- import com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider;
-
- public class test {
- public static void main(String[] args) {
- test.write();
- test.read();
- }
-
- public static void write() {
- XStream sm = new XStream();
- mytest t = new mytest();
- t.setName("asd");
- t.setXb("男");
- try {
- OutputStream out = new FileOutputStream(new File("C:\\111.xml"));
- OutputStreamWriter writer = new OutputStreamWriter(out, Charset.forName("GBK"));
- writer.write("<!---->\n");
-
-
- sm.toXML(t, writer);
- out.close();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- public static void read() {
- XStream sm = new XStream(new PureJavaReflectionProvider());
-
- try {
- InputStream in = new FileInputStream(new File("C:\\111.xml"));
- InputStreamReader reader = new InputStreamReader(in, Charset.forName("GBK"));
- mytest t = (mytest) sm.fromXML(in);
- System.out.println(t.getXb());
- in.close();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
-
- class mytest {
-
- private String name;
-
- private String xb;
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public String getXb() {
- return xb;
- }
-
- public void setXb(String xb) {
- this.xb = xb;
- }
- }
- XStream 的编码:
本身并没有实现编码,必须依靠java.io.Writer来实现输出编码的转换。参考上例代码
- XStream 的常用方法
xstream.omitField(mytest.class, "name"); 定义某一个属性的值不进行xml序列化。
xstream.alias("cat", Cat.class);
xstream.aliasField("age", Cat.class, "mAge"); 对某一个类和类的属性进行别名定义。
xstream.useAttributeFor(String.class); 对所有String类型的字段定义为属性tag显示
xstream.useAttributeFor("name".String.class); 对所有String类型的字段名成为name 定义为属性tag显示
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
XStream 是一个强大的 Java 库,它允许程序员将 Java 对象序列化为 XML,反之...在阅读“xstream学习文档”时,建议重点理解其核心概念、使用示例以及自定义转换器的编写,以便在实际工作中游刃有余地应对各种需求。
XStream 是一个 Java 库,它能够将 Java 对象序列化为 XML,同时也能将 XML 反序列化回对应的 Java 对象。这个功能在数据存储、网络...学习并理解 XStream 的用法,可以帮助你在 Java 开发中更加高效地处理 XML 数据。
使用xstream来读取xml文件的demo,该demo中,使用了支付宝对账单返回的xml为列子来展示使用xstream...学习xstream或者对xstream有疑问的可以参考下..之所以使用支付宝账单返回的xml是因为此xml着实复杂,值得写解析的demo
**XStream 概述** XStream 是一个 Java 库,用于将对象序列化为 XML,以及从 XML 反序列化回对象。它提供了一种简单而直观的...通过深入学习和实践,我们可以充分利用 XStream 的优点,提高代码的可读性和可维护性。
本教程资料将带你深入理解和掌握XStream的核心功能和使用技巧。 一、XStream简介 XStream由Johannes Link创建,它通过简单的API提供了高效的序列化和反序列化功能。XStream的亮点在于其自动映射Java对象到XML的能力...
为了更好地理解和利用XStream,开发者应深入研究其API文档,学习如何配置转换器,处理嵌套的对象关系,以及如何处理XML的命名空间和属性。 总的来说,XStream 1.3是一个功能强大且易于使用的XML序列化库,它简化了...
它的基本用法包括创建一个XStream实例,然后使用`toXML()`方法将对象转换为XML字符串,以及使用`fromXML()`方法将XML字符串转换回相应的Java对象。这个过程使得数据持久化、网络传输或者跨系统交互变得更加便捷。 ...
这个API手册是针对XStream 1.3版本的,包含了详细的使用指南和技术信息,旨在帮助开发者更深入地理解和应用这个强大的工具。 ### XStream 序列化和反序列化 1. **序列化**: XStream 可以将Java对象转换成XML字符串...
通过这个工程,开发者可以学习并实践XStream的使用,了解XML与Java对象之间的转化机制。同时,由于包含了测试类和所需jar包,可以直接运行和调试,这对于初学者或者需要快速实现XML处理功能的开发者来说,是一个非常...
XStream是一个Java库,它能够将Java对象序列化为XML,并能从XML反序列化回Java对象。...在压缩包中的Java文件,很可能是为了演示这些概念而创建的实例,你可以通过查看和运行代码来进一步学习和实践XStream的功能。
- **xstream-1.4.7-sources.jar**: 源码文件,可以查看库的内部实现,有助于学习和调试。 - **README.txt** 或 **CHANGELOG**: 介绍库的使用方法、更新日志等信息。 通过以上内容,我们可以全面了解并有效地使用 ...
在这个压缩包中,包含的是 XStream 的 jar 包、相关文档以及源码,这对于理解和使用 XStream 非常有帮助。 1. **XStream 库的基本概念**: - **序列化**:将 Java 对象转换为 XML 文本的过程,使得对象的状态可以...
这篇博客文章,标题为“xStream学习xml,JASON,JAVA对象转换”,显然会探讨如何利用XStream来处理这两种数据格式。 XStream的核心功能在于其简单易用的API,可以将Java对象直接序列化成XML或JSON字符串,同时也能...
通过本篇内容的学习,我们了解了XStream的基本原理以及如何使用它来读写XML文件。XStream不仅简化了XML与Java对象之间的转换过程,还提高了开发效率。在实际项目中,合理利用XStream可以有效地管理复杂的数据结构。
总结来说,"XStream4JavaDemo演示源码"是学习和理解XStream库的一个宝贵资源。通过这个示例,我们可以了解到XStream如何简化Java对象与XML之间的转换,以及如何自定义转换规则以满足特定需求。无论是进行数据持久化...
在标题中提到的“xstream-1.3.1.jar”是XStream的1.3.1版本的Java归档文件(JAR),包含了XStream的所有类和资源,使得开发者能够在他们的项目中直接引用和使用。 在Java开发中,XML作为一种广泛使用的数据交换格式...
《Xstream.Core 源代码解析与C#应用深度探讨》 Xstream.Core是一个专注于数据序列化和反序列化的开源库,它在C#编程...通过对源代码的学习和实践,开发者可以更好地定制和优化Xstream.Core,以满足特定项目的需求。
XStream是一个Java库,它能够将Java对象转换为...通过学习源码,开发者可以更好地理解和定制XStream的行为,以适应各种复杂的项目需求。无论是对XML的处理,还是对Java对象的映射,XStream都展示了其强大而灵活的设计。
在Java项目中使用XStream,首先需要将其JAR文件添加到项目的类路径中。XStream通常提供两个JAR文件:一个包含了核心库,另一个包含了对于各种XML解析器(如DOM或StAX)的依赖。"jar与src"标签可能指的是这两个文件,...
- **缓存策略**:为了提高性能,XStream 使用缓存机制存储已处理的类信息,避免重复反射操作。 通过深入研究 XStream 1.3.1 的源码,开发者可以了解其实现细节,例如类的序列化逻辑、转换器的注册和调用流程,以及...