`

XStream把xml文件转化为java对象

    博客分类:
  • xml
 
阅读更多

 

步骤:

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文档转换成json对象

    在这个场景中,我们将探讨如何使用XStream将XML文档转换成Java对象,进而转化为JSON对象。 首先,我们需要引入XStream库。XStream的核心功能是能够将Java对象和XML之间的映射自动化,极大地简化了序列化和反序列化...

    com.thoughtworks.xstream.XStream操作XML和java对象的一些用法

    本篇将详细介绍XStream如何处理XML与Java对象的相互转换,以及如何处理List、Map等集合类型的数据。 首先,XStream是一个强大的库,它由Pete Gyford开发,用于将Java对象序列化为XML,同时也能将XML反序列化为Java...

    xstream轻松解析xml到java对象

    以下是一个简单的示例,演示如何使用XStream进行XML与Java对象的转换: ```java import com.thoughtworks.xstream.XStream; class User { private String name; private int age; // getters and setters ...

    Java用xStream拼接xml

    xStream的核心功能是基于对象关系映射(ORM)的概念,它自动将Java类的实例转换为XML文档,并能将XML文档转换回相应的Java对象。 **xStream的使用** 1. **添加依赖** 在使用xStream之前,你需要将其作为项目依赖...

    xStream学习xml,JASON,JAVA对象转换

    这篇博客文章,标题为“xStream学习xml,JASON,JAVA对象转换”,显然会探讨如何利用XStream来处理这两种数据格式。 XStream的核心功能在于其简单易用的API,可以将Java对象直接序列化成XML或JSON字符串,同时也能...

    XML转换为JAVA对象的方法

    在提供的`AppDemo`文件中,可能包含了一个简单的示例应用,演示了如何在实际项目中使用XStream进行XML和Java对象的转换。通过运行和分析这个例子,你可以更好地理解这一过程,并将其应用到自己的项目中。 总之,...

    xStream 实现xml与 java对象的转换

    这使得我们可以轻松地将Java对象转换为XML文档,反之亦然。这个过程对于处理复杂的对象结构尤其有用,因为xStream能够自动处理嵌套的对象和集合。 以下是使用xStream进行转换的基本步骤: 1. **引入依赖**:首先,...

    XStream测试Demo-xml与java对象的相互转换

    首先,创建一个XStream实例,然后使用`toXML()`方法将Java对象转换为XML字符串: ```java XStream xstream = new XStream(); User user = new User(); user.setName("张三"); user.setAge(30); String xml = ...

    好用的xStream XML和JAVA对象互相转换的简单示例

    XStream是一个轻量级、高性能的库,能够将Java对象序列化为XML,同时也能将XML反序列化回Java对象,实现XML和Java对象的互相转换。 首先,我们需要引入XStream库。在给定的描述中提到了两个依赖文件:xstream-1.3.1...

    xstream对象与xml转换

    反序列化即把XML转换回Java对象。首先,你需要确保XML字符串是有效的,然后使用`fromXML()`方法: ```java String xmlInput = ... // 假设这是上面生成的XML Person deserializedPerson = (Person) xstream.fromXML...

    Xstream_java对象和xml的互相转换

    XStream 是一个强大的 Java 库,它允许程序员轻松地将 Java 对象序列化为 XML,同时也能从 XML 数据中反序列化回原来的 Java 对象。这个功能在数据持久化、网络传输或者配置文件存储等方面非常有用。XStream 的设计...

    XStream解析xml 转换成对象案例

    而XStream是一个Java库,它能够将Java对象序列化为XML,反之也能将XML反序列化回Java对象,极大地简化了Java与XML之间的交互。本篇文章将深入探讨如何使用XStream进行XML到对象的转换,并提供一个实际的案例。 首先...

    利用XStream读写xml文件

    为了能够通过XStream进行XML与Java对象之间的转换,首先需要定义相应的实体类。示例代码中定义了三个实体类: - **Company**:表示公司,包含多个部门。 - 属性:`List&lt;Department&gt; departments` - 方法:`...

    使用XStream是实现XML与Java对象的转换(5)--Object Stream

    首先创建XStream实例,然后使用`toXML()`方法将Java对象转换为XML字符串: ```java XStream xstream = new XStream(); User user = new User(); user.setName("Forest"); user.setAge(30); String xml = xstream.to...

    XStream解析xml demo

    XStream的核心概念是通过为Java对象定义一个映射,使得对象的字段与XML元素一一对应。这可以通过使用`@XStreamAlias`注解或者在类级别定义`@XStreamConverter`来实现。例如: ```java import ...

    XStream解析XML实例

    XStream的核心理念是,如果你能打印一个对象,那么也应该能将其转换为XML,反之亦然。 **2. 安装与引入** 要在项目中使用XStream,首先需要添加依赖。如果你的项目是Maven项目,可以在pom.xml文件中添加以下依赖: ...

    xStream转换xml和json源码

    xStream是一个轻量级的Java库,用于将Java对象序列化为XML,同时也能将XML反序列化回Java对象。这个强大的工具同样支持JSON格式,使得在Java应用程序中处理XML和JSON数据变得非常便捷。本篇文章将深入探讨xStream...

    xml解析及使用XStream实现javaBean与xml之间的转换

    在`xmlAnalysis`文件夹中,可能包含了一个简单的Java程序,演示了如何使用DOM、SAX、StAX和XStream解析XML文件,并展示了XStream如何在JavaBean与XML之间进行转换。你可以运行这些代码,观察输出结果,以加深理解。...

    java 利用Xstream注解生成和解析xml

    总结起来,Xstream通过注解提供了一种简洁、直观的方式来处理XML和Java对象之间的转换。这种灵活性使得在Java项目中处理XML数据变得更加简单,尤其在需要频繁进行序列化和反序列化的场景下。通过熟练掌握Xstream的...

    xstream 1.3.1.jar bean对象转换为xml

    在这个版本中,XStream提供了对Java Bean对象转换为XML的全面支持。 **XStream的工作原理:** XStream的核心是基于反射的,它通过分析Java对象的类结构来构建XML表示。它使用了一种称为"alias"的概念,允许我们将...

Global site tag (gtag.js) - Google Analytics