步骤:
1、一份格式良好的xml文件,xml文件是节点格式。
2、新建java对象,包含属性,属性名可以与xml文件的标签名称相同,也可以不相同,最好是相同,这样的话在转换时就不必把标签和属性再做一次对应了。
3、测试输出结果。
步骤1:用dom4j生成xml文件
package com.techcenter.xml;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
public class Dom4jDemo {
public static void main(String[] args) {
String pathname = "d://books.xml";
int i = createXMLFile(pathname);
System.out.println(i);
}
/**
* @param pathname
* @return
*/
public static int createXMLFile(String pathname){
int returnValue = 0;
try {
Document document = DocumentHelper.createDocument();
document.addComment("一个简单的xml文档的事例");
//document.addProcessingInstruction("target", "instruction");
Element root = document.addElement("books");
for(int i=0;i<5;i++){
Element bookElement = root.addElement("book");
Element nameElement = bookElement.addElement("name");
nameElement.addText("计算机技术概论"+i);
Element authorElement = bookElement.addElement("author");
authorElement.addText("王敏"+i);
Element element = bookElement.addElement("date");
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String date = dateFormat.format(new Date());
element.addText(date);
}
//美化输出格式
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("GBK");
XMLWriter writer = new XMLWriter(new FileWriter(new File(pathname)),format);
writer.write(document);
writer.close();
returnValue = 1;
} catch (IOException e) {
e.printStackTrace();
}
return returnValue;
}
}
xml文件内容:
<?xml version="1.0" encoding="GBK"?>
<!--一个简单的xml文档的事例-->
<books>
<book>
<name>计算机技术概论0</name>
<author>王敏0</author>
<date>2010-11-23 09:37:46</date>
</book>
<book>
<name>计算机技术概论1</name>
<author>王敏1</author>
<date>2010-11-23 09:37:46</date>
</book>
<book>
<name>计算机技术概论2</name>
<author>王敏2</author>
<date>2010-11-23 09:37:46</date>
</book>
<book>
<name>计算机技术概论3</name>
<author>王敏3</author>
<date>2010-11-23 09:37:46</date>
</book>
<book>
<name>计算机技术概论4</name>
<author>王敏4</author>
<date>2010-11-23 09:37:46</date>
</book>
</books>
步骤2:新建Book对象
package com.techcenter.xml;
public class Book {
private String name;
private String author;
private String date ;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
}
新建Books对象:
package com.techcenter.xml;
import java.util.ArrayList;
public class Books {
//根节点books对应Books类,book节点对应Book类,有多个book节点,这里需转换到集合中
private ArrayList<Book> books;
public ArrayList<Book> getBooks() {
return books;
}
public void setBooks(ArrayList<Book> books) {
this.books = books;
}
}
步骤3:输出测试结果:
/**
*
*/
package com.techcenter.xml;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.util.ArrayList;
import com.thoughtworks.xstream.XStream;
public class XStreamDemo {
public static void main(String[] args) {
xmlToJavaBean();
}
/**
* 把xml转化为java对象
*/
public static void xmlToJavaBean(){
XStream stream = new XStream();
String xml = "d://books.xml";
try {
stream.alias("book",Book.class);
stream.alias("books",Books.class);
//设置隐含转化集合
//根节点books对应Books类,book节点对应Book类,有多个book节点,这里需转换到集合中
stream.addImplicitCollection(Books.class, "books");
Books books = (Books) stream.fromXML(new FileReader(new File(xml)));
ArrayList<Book> bookList = books.getBooks();
for(int i=0;i<bookList.size();i++){
Book book = (Book) bookList.get(i);
System.out.println("name:"+book.getName()+","+"author:"+book.getAuthor()+","+"date:"+book.getDate());
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
相关推荐
在这个场景中,我们将探讨如何使用XStream将XML文档转换成Java对象,进而转化为JSON对象。 首先,我们需要引入XStream库。XStream的核心功能是能够将Java对象和XML之间的映射自动化,极大地简化了序列化和反序列化...
本篇将详细介绍XStream如何处理XML与Java对象的相互转换,以及如何处理List、Map等集合类型的数据。 首先,XStream是一个强大的库,它由Pete Gyford开发,用于将Java对象序列化为XML,同时也能将XML反序列化为Java...
以下是一个简单的示例,演示如何使用XStream进行XML与Java对象的转换: ```java import com.thoughtworks.xstream.XStream; class User { private String name; private int age; // getters and setters ...
xStream的核心功能是基于对象关系映射(ORM)的概念,它自动将Java类的实例转换为XML文档,并能将XML文档转换回相应的Java对象。 **xStream的使用** 1. **添加依赖** 在使用xStream之前,你需要将其作为项目依赖...
这篇博客文章,标题为“xStream学习xml,JASON,JAVA对象转换”,显然会探讨如何利用XStream来处理这两种数据格式。 XStream的核心功能在于其简单易用的API,可以将Java对象直接序列化成XML或JSON字符串,同时也能...
在提供的`AppDemo`文件中,可能包含了一个简单的示例应用,演示了如何在实际项目中使用XStream进行XML和Java对象的转换。通过运行和分析这个例子,你可以更好地理解这一过程,并将其应用到自己的项目中。 总之,...
这使得我们可以轻松地将Java对象转换为XML文档,反之亦然。这个过程对于处理复杂的对象结构尤其有用,因为xStream能够自动处理嵌套的对象和集合。 以下是使用xStream进行转换的基本步骤: 1. **引入依赖**:首先,...
首先,创建一个XStream实例,然后使用`toXML()`方法将Java对象转换为XML字符串: ```java XStream xstream = new XStream(); User user = new User(); user.setName("张三"); user.setAge(30); String xml = ...
XStream是一个轻量级、高性能的库,能够将Java对象序列化为XML,同时也能将XML反序列化回Java对象,实现XML和Java对象的互相转换。 首先,我们需要引入XStream库。在给定的描述中提到了两个依赖文件:xstream-1.3.1...
反序列化即把XML转换回Java对象。首先,你需要确保XML字符串是有效的,然后使用`fromXML()`方法: ```java String xmlInput = ... // 假设这是上面生成的XML Person deserializedPerson = (Person) xstream.fromXML...
XStream 是一个强大的 Java 库,它允许程序员轻松地将 Java 对象序列化为 XML,同时也能从 XML 数据中反序列化回原来的 Java 对象。这个功能在数据持久化、网络传输或者配置文件存储等方面非常有用。XStream 的设计...
而XStream是一个Java库,它能够将Java对象序列化为XML,反之也能将XML反序列化回Java对象,极大地简化了Java与XML之间的交互。本篇文章将深入探讨如何使用XStream进行XML到对象的转换,并提供一个实际的案例。 首先...
为了能够通过XStream进行XML与Java对象之间的转换,首先需要定义相应的实体类。示例代码中定义了三个实体类: - **Company**:表示公司,包含多个部门。 - 属性:`List<Department> departments` - 方法:`...
首先创建XStream实例,然后使用`toXML()`方法将Java对象转换为XML字符串: ```java XStream xstream = new XStream(); User user = new User(); user.setName("Forest"); user.setAge(30); String xml = xstream.to...
XStream的核心概念是通过为Java对象定义一个映射,使得对象的字段与XML元素一一对应。这可以通过使用`@XStreamAlias`注解或者在类级别定义`@XStreamConverter`来实现。例如: ```java import ...
XStream的核心理念是,如果你能打印一个对象,那么也应该能将其转换为XML,反之亦然。 **2. 安装与引入** 要在项目中使用XStream,首先需要添加依赖。如果你的项目是Maven项目,可以在pom.xml文件中添加以下依赖: ...
xStream是一个轻量级的Java库,用于将Java对象序列化为XML,同时也能将XML反序列化回Java对象。这个强大的工具同样支持JSON格式,使得在Java应用程序中处理XML和JSON数据变得非常便捷。本篇文章将深入探讨xStream...
在`xmlAnalysis`文件夹中,可能包含了一个简单的Java程序,演示了如何使用DOM、SAX、StAX和XStream解析XML文件,并展示了XStream如何在JavaBean与XML之间进行转换。你可以运行这些代码,观察输出结果,以加深理解。...
总结起来,Xstream通过注解提供了一种简洁、直观的方式来处理XML和Java对象之间的转换。这种灵活性使得在Java项目中处理XML数据变得更加简单,尤其在需要频繁进行序列化和反序列化的场景下。通过熟练掌握Xstream的...
在这个版本中,XStream提供了对Java Bean对象转换为XML的全面支持。 **XStream的工作原理:** XStream的核心是基于反射的,它通过分析Java对象的类结构来构建XML表示。它使用了一种称为"alias"的概念,允许我们将...