对象和xml相互转换工具XMLEncoder,XMLDecoder
2017-07-18 14:34
381 查看
基本的介绍:
1.XMLEncoder类是
ObjectOutputStream的互补替换,可用于生成JavaBean 的文本表示形式,所使用方式与用
ObjectOutputStream创建
Serializable对象的二进制表示形式的方式相同 2.
XMLDecoder类用于读取使用
XMLEncoder创建的 XML 文档,用途类似于
ObjectInputStream。 XMLEncoder和XMLDecoder和ObjectOutputStream创建的Serializable对象的区别,前者转换的对象,不必实现serializable,同时对transient这个关键词不过敏。具体的代码实现如下: 1.javaBean对象package com.xmlencoder;public class Person{ private int id; private String name; private String content; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getContent() { return content; } public void setContent(String content) { this.content = content; } }测试的代码:package com.xmlencoder;import java.beans.XMLDecoder;import java.beans.XMLEncoder;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;public class ObjectToXmlUtil { public static void writeXml() { try { XMLEncoder e= new XMLEncoder(new BufferedOutputStream(new FileOutputStream("C:\\Users\\Admin\\Desktop\\Test.xml"))); Person person = new Person(); person.setId(1); person.setName("tan"); person.setContent("备注的信息"); e.writeObject(person); e.close(); } catch (FileNotFoundException e1) { e1.printStackTrace(); } } public static void readXml(){ try { XMLDecoder d=new XMLDecoder(new BufferedInputStream(new FileInputStream("C:\\Users\\Admin\\Desktop\\Test.xml"))); Person p=(Person) d.readObject(); System.out.println(p.getId()+"--"+p.getName()+"--"+p.getContent()); } catch (FileNotFoundException e) { e.printStackTrace(); } } public static void main(String[] args) { ObjectToXmlUtil.writeXml();// ObjectToXmlUtil.readXml();//1 System.out.println("hello");//2 }}代码1处输出效果 <?xml version="1.0" encoding="UTF-8"?><java version="1.8.0_92" class="java.beans.XMLDecoder"> <object class="com.xmlencoder.Person"> <void property="content"> <string>备注的信息</string> </void> <void property="id"> <int>1</int> </void> <void property="name"> <string>tan</string> </void> </object></java>代码2处的输出效果:1--tan--备注的信息
相关文章推荐
- 使用Castor工具完成Java对象与XML之间的相互转换
- xml与java对象的相互转换
- 利用XStream在Java对象和XML之间相互转换
- XML与JavaBean相互转换工具
- Java对象和XML相互转换
- Java对象、Json、Xml转换工具Jackson使用
- 关于Java对象和XML之间的相互转换
- 一个经过改良的XMLHelper(包含了序列化,反序列化,创建xml文件,读取节点,C#对象与xml文件的相互转换等等。)
- 用Apache Commons Betwixt2 在XML与Java对象之间相互转换
- JAXB的使用(java对象和xml文本的相互转换)
- C#对象与XMl文件之间的相互转换(转)
- 玩转Java对象和XML相互转换
- XML数组和对象相互转换
- Java对象、Json、Xml转换工具Jackson使用
- 用Apache Commons Betwixt2 在XML与Java对象之间相互转换
- jaxb 简单的对象与xml相互转换
- 利用XStream在Java对象和XML之间相互转换
- java:xml与对象之间相互转换
- Java对象与XML的相互转换
- xStream 学习笔记 - Java对象与XML相互转换简单示例