mport ibatis.Person;
import java.io.StringReader;
import org.apache.commons.betwixt.io.BeanReader;
/**
* XML转Java
*/
public class ReadExampleApp {
public static final void main(String args[]) throws Exception {
// 创建一个读取xml文件的流
StringReader xmlReader = new StringReader(
"<?xml version='1.0' ?><person><age>25</age><name>James Smith</name></person>");
// 创建一个BeanReader实例,相当于转换器
BeanReader beanReader = new BeanReader();
// 配置BeanReader实例
beanReader.getXMLIntrospector().getConfiguration()
.setAttributesForPrimitives(false);
beanReader.getBindingConfiguration().setMapIDs(false); // 不自动生成ID
// 注册要转换对象的类,并指定根节点名称
beanReader.registerBeanClass("person", Person.class);
// 将XML解析Java Object
Person person = (Person) beanReader.parse(xmlReader);
// 在控制台输出对象
System.out.println(person);
}
}
import java.io.FileWriter;
import java.util.Date;
import org.apache.commons.betwixt.io.BeanWriter;
/**
* 将java对象转换为xml,并输出到文件
*/
public class WriteExampleApp {
public static final void main(String[] args) throws Exception {
// 创建一个输出流,将用来输出Java转换的XML文件
FileWriter outputWriter = new FileWriter("c:\\person.txt");
// 输出XML的文件头
outputWriter.write("<?xml version='1.0' ?>\n");
// 创建一个BeanWriter实例,并将BeanWriter的输出重定向到指定的输出流
BeanWriter beanWriter = new BeanWriter(outputWriter);
// 配置BeanWriter对象
beanWriter.getXMLIntrospector().getConfiguration()
.setAttributesForPrimitives(false);
beanWriter.getBindingConfiguration().setMapIDs(false);
beanWriter.enablePrettyPrint();
Person person = new Person(1, "阿牛", "male", new Date());
beanWriter.write(person);
// 关闭输出流
outputWriter.close();
}
}import java.io.StringWriter;
import java.util.Date;
import org.apache.commons.betwixt.io.BeanWriter;
/**
* 将Java对象转换为XML,并获取其字符串
* betwixt功能强大,使用简单,是快速开发不二的选择。
BeanWriter相当于一个双向转换器工厂,但是这个工厂需要装配,并且它是非线程安全的。
BeanWriter有很多配置项,可以将对象的成员装配成xml元素的属性。也可以改写元素属性的名字。
默认情况下元素的名字与java成员的名字相同,根节点与java类名相同(不带包名)。
并且这些操作是双向可逆的。
BeanWriter还可以转换格式不规范的xml文档,比如节点无法有些不匹配,或者无法完全映射到对象上的xml,
这些都不会出错,并且当节点为null的时候,转换也不用做特殊处理,非常简单。
BeanWriter在将Java转换为xml时,Java对象可以是复杂对象,对象之中嵌套对象,
如果复杂对象的某个成员比如类型为另外一个对象为null时,还可以选择是否在生成xml的时候输出该节点。
如果期望输出,则输出一个对应复杂对象成员的子元素,里面的元素值全为空。
*/
public class WriteStringExampleApp {
public static final void main(String[] args) throws Exception {
String reslutXml;
// 创建一个输出流,将用来输出Java转换的XML文件
StringWriter outputWriter = new StringWriter();
// 输出XML的文件头
outputWriter.write("<?xml version='1.0' ?>");
// 创建一个BeanWriter实例,并将BeanWriter的输出重定向到指定的输出流
BeanWriter beanWriter = new BeanWriter(outputWriter);
// 配置BeanWriter对象
beanWriter.getXMLIntrospector().getConfiguration()
.setAttributesForPrimitives(false);
//第一行禁止写入ID
beanWriter.getBindingConfiguration().setMapIDs(false);
//第二行允许格式化输出
beanWriter.enablePrettyPrint();
Person person = new Person(1, "阿牛", "male", new Date());
beanWriter.write(person);
reslutXml = outputWriter.toString();
// 关闭输出流
outputWriter.close();
// 控制台输出转换结果的字符串
System.out.println(reslutXml);
}
}
分享到:
相关推荐
xml 转Java bean工具
xml文件自动转成java对象工具,生成xsd文件,xsd转java
JAXB工具类 xml转为java对象 java对象转为xml ,本人亲测,可以使用!!!
java一键xml转map,一键map转xml工具类,代码已封装好,一个方法即可将两种格式文本互转,注意是互转,网上很多只有xml转map,并不支持map转xml
本工具可以通过指定的xml文件生成java代码文件。 工具运行需要jre。
XML 节点名称 要与Bean相同 该项目 包含测试代码 可以演示。 节点属性 可以为String 多层节点 请用List表示
java在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava...
java实现word文档到xml文档转换浅析
里面是xml转换成为java对象的两种方法,
将xml串转换成Map类型,如果有重复节点,自动转换为list类型存储,所以最终转换并非绝对Map
xml 与 bean 互相转换 工具类 1、bean类的属性需要遵守BEAN规范,否则 无法 读存BEAN值。 2、bean类的属性如果 是集合 只支持数组以及List、Map、Set。 3、bean类属性(boolean除外)前面两个字母要么全部小写,要么...
Apache xml转换java对象 Digester
Java实现XML文档到word文档转换
文件里包含jar包 dom4j-1.6.1.jar,list中放多个map,map里随意放键值对,最后可转换为xml文档,xml文档也可以解析存入list文件中
解析xml为object的工具,采用sax技术,超低内存消耗。详细使用说明见jar包内META-INF/readme.txt
java http 发送xml报文(java发送xml报文实例+参数)java http 发送xml报文java http 发送xml报文(java发送xml报文实例+参数)
最简单的 递归 XML 转 MAP
xml转json java源码 可正确运行,我写在一个java文件里了
该例子是将xml文件映射为java对象的例子。 commons-betwixt-0.8.jar
java http 发送xml报文java http 发送xml报文java http 发送xml报文java http 发送xml报文java http 发送xml报文java http 发送xml报文java http 发送xml报文java http 发送xml报文java http 发送xml报文java http ...