1、在模块目录下创建action,dto两个package。
2、在action中创建AuthorConverter.java和xstream_main.java文件
2.1——AuthorConverter.java
package com.test.xstream.blog.action;
import com.test.xstream.blog.dto.Author;
import com.thoughtworks.xstream.converters.SingleValueConverter;
public class AuthorConverter implements SingleValueConverter {
public String toString(Object obj) {
return ((Author) obj).getName();
}
public Object fromString(String name) {
return new Author(name);
}
public boolean canConvert(Class type) {
return type.equals(Author.class);
}
}
2.2——xstream_main.java
package com.test.xstream.blog.action;
import java.io.FileNotFoundException;
import com.test.xstream.blog.dto.Author;
import com.test.xstream.blog.dto.Blog;
import com.test.xstream.blog.dto.Entry;
import com.thoughtworks.xstream.XStream;
public class xstream_main {
public static void main(String[] args) throws FileNotFoundException
{
Blog teamBlog = new Blog(new Author("Guilherme Silveira"));
teamBlog.add(new Entry("first","My first blog entry."));
teamBlog.add(new Entry("tutorial","Today we have developed a nice alias tutorial. Tell your friends! NOW!"));
XStream xstream = new XStream();
//取别名
xstream.processAnnotations(Blog.class);
xstream.processAnnotations(Entry.class);
xstream.addImplicitCollection(Blog.class, "entries");//去掉entries标签
xstream.useAttributeFor(Blog.class, "writer");
xstream.registerConverter(new AuthorConverter());
// FileOutputStream file = new FileOutputStream("WebContent/xml/blog.xml");
//
// xstream.toXML(teamBlog, file);
System.out.println(xstream.toXML(teamBlog));
}
}
3、在dto中创建Author.java、Blog.java、Entry.java文件。分别对应于xml文件中的<blog author="">、<blog>、<entry>。
3.1——Author.java
package com.test.xstream.blog.dto;
public class Author
{
private String name;
public Author(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
3.2——Blog.java
package com.test.xstream.blog.dto;
import java.util.ArrayList;
import java.util.List;
import com.thoughtworks.xstream.annotations.XStreamAlias;
@XStreamAlias("blog")
public class Blog
{
@XStreamAlias("author")
private Author writer;
private List entries = new ArrayList();
public Blog(Author writer) {
this.writer = writer;
}
public void add(Entry entry) {
entries.add(entry);
}
public List getContent() {
return entries;
}
}
3.3——Entry.java
package com.test.xstream.blog.dto;
import com.thoughtworks.xstream.annotations.XStreamAlias;
@XStreamAlias("entry")
public class Entry {
private String title, description;
public Entry(String title, String description) {
this.title = title;
this.description = description;
}
}
4、blog.xml文件内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<blog author="Guilherme Silveira">
<entry>
<title>first</title>
<description>My first blog entry.</description>
</entry>
<entry>
<title>tutorial</title>
<description>Today we have developed a nice alias tutorial. Tell your friends! NOW!</description>
</entry>
</blog>
分享到:
相关推荐
XStream解析xml demo
XStream解析XML实例
使用Xstream解析复杂xml文件,并读入MySql数据库中
Xstream生产xml和解析xml
xstream方式解析及生成xml文件
XStream XML解析 含样例及详细嵌入文档
xstream轻松解析xml到java对象,内附样例。so easy!妈妈再也不用担心我的xml解析。
使用xstream解析xml,xml与pojo的双向转化,完整的java 工程 带jar包和测试类,可以直接跑
利用xstream的@XStreamAlias解析xml
* xstream 解析xml测试,本程序使用两种方式进行解析 * 分别为:注解方式与编程设置别名方式 * 注解方式代码更为简单,但对model需要用注解方式编写 * 编程设置别名方式代码稍复杂,但更灵活。 * @author 蜜我 ...
webService接口对接时,需要传递一个xml内容。用xStream拼接xml
NULL 博文链接:https://yangliuwillow.iteye.com/blog/1528435
用Xstream生成和解析xml
利用XStream读写xml文件
xstream 将xml文档转换成 java对象,然后就可以利用json库转成json对象啦。
java 利用Xstream注解生成和解析xml 非常好用 非常好用
android XMl 解析神奇xstream 一: 解析android项目中的xml文件
使用xStream实现java对象和xml、json的相互转换
一个小demo展示xml的两种解析方式和四种解析方法,以及使用XStream进行javaBean与xml、json之间的转换
在缺省情况下,XStream不需要配置映射关系,对象和字段将映射为同名XML元素。但是当对象和字段名与XML中的元素名不同时,XStream支持指定别名。XStream支持以方法调用的方式,或是Java 标注的方式指定别名。 ...