xml文件和java对象之间转换 例:
package com.zgs.util;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
import com.zgs.entity.Order;
/**
*
* @author Administrator
* 2015-4-6
*
*/
public class XMLUtil{
/**
* 解析XML文件为对象集合
* InputStream Is为Xml文件流
* @return
*/
public static List XMLToList(InputStream Is)throws Exception{
SAXReader saxReader=new SAXReader();
Document doc=saxReader.read(Is);
//获取根元素
Element root=doc.getRootElement();
//获取集合元素
List<Element> orders=root.elements("order");
List<Order> list=new ArrayList<Order>();
//遍历出集合元素的值
for(Element e:orders){
Order o=new Order();
o.setName(e.elementText("name"));
o.setDest(e.elementText("dest"));
o.setFlight(e.elementText("flight"));
o.setTime(e.elementText("time"));
o.setType(e.attributeValue("type"));
list.add(o);
}
return list;
}
public static void listToXML(OutputStream os,List<Order> orders)throws Exception{
//创建doc对象
Document doc=DocumentHelper.createDocument();
//创建根元素
Element root=doc.addElement("orders");
//创建order元素
for(Order o:orders){
Element order=root.addElement("order");
order.addElement("name").setText(o.getName());
order.addElement("dest").setText(o.getDest());
order.addElement("flight").setText(o.getFlight());
order.addElement("time").setText(o.getTime());
order.addAttribute("type", o.getType());
}
//定义输出格式
OutputFormat of=OutputFormat.createPrettyPrint();
//输出list为xml
XMLWriter out=new XMLWriter(os, of);
out.write(doc);
out.close();
os.close();
}
public static void main(String[] args) throws Exception{
// List orders=new ArrayList<Order>();
// Order o1=new Order("zgs", "china", "a322", "2015-01-01", "sw");
// Order o2=new Order("zgs1", "china1", "a3221", "2015-01-01", "sw1");
// orders.add(o1);
// orders.add(o2);
File file=new File("C:\\Users\\Administrator\\Workspaces\\config\\order.xml");
// FileOutputStream fos=new FileOutputStream(file);
// listToXML(fos, orders);
FileInputStream fis=new FileInputStream(file);
List<Order> list=XMLToList(fis);
for(int i=0;i<list.size();i++){
System.out.println(list.get(i).getName());
System.out.println(list.get(i).getDest());
System.out.println(list.get(i).getFlight());
System.out.println(list.get(i).getTime());
System.out.println(list.get(i).getType());
}
}
分享到:
相关推荐
xml报文和java对象互相转换 相关jar包和测试代码,可以与castor插件java对象和XML自动绑定maping文件生成和java对象一键生成工具1.2(https://download.csdn.net/download/kemoing/10864595)完美配合使用
xml文件自动转成java对象工具,生成xsd文件,xsd转java
在java.beans包中,有两个好东西,XMLEncoder和XMLDecoder。从XML存取对象真是太费力气啦。做了小工具类,以后可以用用了。本文介绍了这两个可以把JAVA对象序列化保存为XML文件的工具类。
1. XML数据绑定:可将XML文档绑定到Java对象,实现XML数据和Java对象之间的无缝转换。 2. XML数据解析:用于解析和分析复杂的XML文档,提取所需的数据信息。 3. XML数据操作:提供了丰富的API,用于创建、修改和操作...
该例子是将xml文件映射为java对象的例子。 commons-betwixt-0.8.jar
simple-xml2object是一个简单实用的xml和JAVA对象转换的类库,jar包很小,而且不需要任何依赖包。 下载后,压缩包包含一个jar包,导入即可。包含一个测试类,有详细的注释展示用法。还包含一个中文文档。
3、根据bean对象以及bean的所有属性值生成xml文件。 String bean2xml = XbeanUtil.bean2xml(bean, null); 使用前请将附件jar包放入classpath。 如有任何疑问,请联系coynnbai@163.com。源代码包及详细使用文档...
本示例实现将xml数据转换为Java对象, 在这里使用org.xml.sax.helpers.DefaultHandler的子类处理XML 运行前要将raw目录下的xml 文件通过DDMS透视图中导入到摸拟器的SD卡中
使用java jdk的JAXB技术实现xml与java对象互相转化代码教程: JDK中JAXB相关的重要Class和Interface:(来源于百度百科JAXB) •JAXBContext类,是应用的入口,用于管理XML/Java绑定信息。 •Marshaller接口,将Java...
xStream可以轻易的将Java对象和xml文档相互转换,本实例详细介绍了运用xStream将对象转xml和xml转对象操作.zip,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
它可以将Java对象转换为XML文档,也可以将XML文档转换为Java对象。 pom引用 <groupId>com.thoughtworks.xstream</groupId> <artifactId>xstream <version>1.4.20 实体类和测试类详见博客 ...
使用 XStream 不用任何映射就能实现多数 Java 对象的序列化。在生成的 XML 中对象名变成了元素名,类中的字符串组成了 XML 中的元素内容。使用 XStream 序列化的类不需要实现 Serializable 接口。XStream 是一种序列...
将XML与Java对象的转化方法封装到工具类当中,举了几个例子说明如何让XML与Java对象互相转换。
NULL 博文链接:https://zw7534313.iteye.com/blog/2422138
通过XStream实现互转,IDEA开发,需加装依赖的JAR包
将一个java对象转换为xml文件,或者将一个xml文件转换为一个java对象。 (有人说需要jaxws-api-2.0.jar这个包,但是我做这个例子时没有用的,不过我还是把它附上,备用)
利用XStream方法 将xml配置文件与java对象的互换,可用于不同数据表空间的数据同步等信息。强大的工具
Java对象转换成XML字符串 将List集合转换成xml文档 Map集合转换xml文档 用InputStream将XML文档转换成java对象
解析web-config.xml文件,并将里面的元素转换成对应的JAVA对象
最近做项目数据传输这块最后采用了xml报文的形式来进行传输,所以特地写了一个工具类分享出来,支持xml报文和java对象间的相互转换。采用的是JAXB的形式,可快速解析。具体步骤已经单独写了一个文档放进去了。