使用xstream工具包
导入xpp3_min-1.1.4c和xstream-1.4.9
特点:代码简洁,超级方便,可以自己定义xml格式(适合做文件传输)
属性特点:1. xStream.alias("person",Person.class);//设置别名,如果不设置那么运行结果如下

设置后

xStream.useAttributeFor(Person.class,"personid");把persinid 作为属性就要使用此属性

没使用  默认作为子节点

使用属性后

1.封装person

/**
* XML解析]
*
* @author BinPeng
* @date 2019/8/31 21:40
*/
public class Person {
private String personid;
private String name;
private String address;
private String tel;
private String email; @Override
public String toString() {
return "Person{" +
"personid='" + personid + '\'' +
", name='" + name + '\'' +
", address='" + address + '\'' +
", tel='" + tel + '\'' +
", email='" + email + '\'' +
'}';
} public String getPersonid() {
return personid;
} public void setPersonid(String personid) {
this.personid = personid;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public String getAddress() {
return address;
} public void setAddress(String address) {
this.address = address;
} public String getTel() {
return tel;
} public void setTel(String tel) {
this.tel = tel;
} public String getEmail() {
return email;
} public void setEmail(String email) {
this.email = email;
}
}

  2.

import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.Xpp3Driver;
import org.junit.Test; /**
* 使用xstream工具包
* 导入xpp3_min-1.1.4c和xstream-1.4.9
*
* @author 三只坚果
* @date 2019/9/2 11:33
*
* 代码简洁,超级方便,可以自己定义xml格式(适合做文件传输)
*/ public class XStreamTest {
XStream xStream = new XStream(new Xpp3Driver());
@Test
public void test(){
Person p = new Person();
p.setPersonid("2");
p.setAddress("上海");
p.setEmail("54332@qq.com");
p.setTel("87654343");
p.setName("X stream"); //如果不取别名
// xStream.alias("person",Person.class); //可以根据自己的需要设置需要的xml文件格式
xStream.useAttributeFor(Person.class,"personid");
String s = xStream.toXML(p);//得到xml文件
System.out.println(s);
// 解析xml字符串
Person ps = (Person) xStream.fromXML(s);//解析s
System.out.println(ps);
}
}

  

xstream的介绍及用法的更多相关文章

  1. oc-12-NSString 类简单介绍及用法

    // 11-[掌握]NSString 类简单介绍及用法 #import <Foundation/Foundation.h> int main(int argc, const char * ...

  2. WorkFlow介绍及用法

    WorkFlow介绍及用法 说起workflow大家肯定都不陌生,这里简单介绍一下salesforce中什么情况下使用workflow. 当你分配许多任务,定期发送电子邮件,记录修改时,可以通过自动配 ...

  3. Spring BeanFactory与FactoryBean的区别及其各自的详细介绍于用法

    Spring BeanFactory与FactoryBean的区别及其各自的详细介绍于用法 1. BeanFactory BeanFactory,以Factory结尾,表示它是一个工厂类(接口),用于 ...

  4. vue第四单元(初识vue-在页面中直接引入vue框架-学习使用vue语法-vue的指令-介绍data用法-methods用法)

    第四单元(初识vue-在页面中直接引入vue框架-学习使用vue语法-vue的指令-介绍data用法-methods用法) #课程目标 了解 vue 框架的特点 掌握创建 vue 实例 掌握 data ...

  5. ServletContext介绍和用法总结

    ServletContext介绍和用法总结 学习总结 一.ServletContext 介绍 1. 概念 2. 作用 3. 获取 3.1 在实现类中获取 3.2 在 Spring 容器中获取 二.Se ...

  6. 08_android入门_android-async-http开源项目介绍及用法

    android-async-http开源项目可以是我们轻松的获取网络数据或者向server发送数据.使用起来很easy,关于android-async-http开源项目的介绍内容来自于官方:http: ...

  7. JMS学习篇《一》ActiveMQ消息中间件的简单介绍与用法-概念篇

    原创说明:本篇博文为本人原创作品,转载请注明出处 1.何为消息中间件 消息中间件是一种在分布式应用中互相交换信息的一种技术,常见的成熟消息中间件有:RabbitMQ.SonicMQ,activeMQ. ...

  8. Cookie、Session登陆验证相关介绍和用法

    一.Cookie和Session 首先.HTTP协议是无状态的:所谓的无状态是指每次的请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应直接影响,也不会直接 ...

  9. 内置锁(一)synchronized 介绍与用法

    一.synchronized 的介绍   synchronized 是 Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码,而这段代码也被称 ...

随机推荐

  1. Java之同步代码块处理实现Runnable的线程安全问题

    /** * 例子:创建三个窗口卖票,总票数为100张.使用实现Runnable接口的方式 * * 1.问题:卖票过程中,出现了重票.错票 -->出现了线程的安全问题 * 2.问题出现的原因:当某 ...

  2. git 推送到github最常用命令

    初始化仓库,上传到github中. git init git add README.md git commit -m "first commit" git remote add o ...

  3. Maven--可选依赖

    假设有这样换一个依赖关系,项目 A 依赖于项目 B,项目 B 依赖于项目 X 和 Y,B 对于 X 和 Y的依赖都是可选依赖: A -> B B -> X(可选) B -> Y(可选 ...

  4. 10)global预定义变量

    代码展示: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w ...

  5. day56-mysql-其他查询-面试题-重点

    一.重点 面试题 1. 临时表查询: -- 查询高于本部门平均工资的人员 #1.先查询部门人员的平均工资 SELECT dept_id,AVG(salary)as sal from person GR ...

  6. android searchview 简单使用

    设置样式 drawable bg_search/xml android:background="@drawable/bg_search" <shape xmlns:andro ...

  7. CF1137E Train Car Selection(单调栈维护凸函数)

    首先本题的关键是一次性加0操作只有第一个0是有用的.然后对于1 k操作,其实就是把之前的所有数删除.对于其他的情况,维护一次函数的和,将(i,a[i])看成平面上的一个点,用单调栈维护一下. #inc ...

  8. www、数组的equals、接口和抽象类、装箱拆箱、final赋值

    目录 2019.12.31 刷题笔记 2019.12.31 刷题笔记 www www是World Wide Web的缩写 数组的equals 数组是一个对象,不同类型的数组具有不同的类.数组是一种引用 ...

  9. mysql字段值为null时排序问题

    -- DESC 降序时候默认null值排在后面.ASC升序时默认null值排在前面,可使用 IS NULL处理 ORDER BY score desc,gmPrice IS NULL,gmPrice, ...

  10. Codeforces Round #599 (Div. 2)D 边很多的只有0和1的MST

    题:https://codeforces.com/contest/1243/problem/D 分析:找全部可以用边权为0的点连起来的全部块 然后这些块之间相连肯定得通过边权为1的边进行连接 所以答案 ...