`
zhoushu126
  • 浏览: 81681 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

XML转Java Java转XML

阅读更多
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 Bean工具,用户可以通过运行这两个安装程序来在本地计算机上安装和使用该工具。 总的来说,"xml 转Java bean工具"是开发过程中非常实用的辅助工具,能够帮助...

    XML转java代码工具

    XML(eXtensible Markup Language...总之,“XML转Java代码工具”是软件开发中的一个实用辅助工具,它利用XML的结构信息生成相应的Java类,帮助开发者快速地将XML数据集成到Java应用程序中,提升了开发效率和代码质量。

    JAXB工具类 xml转为java对象 java对象转为xml

    Java Architecture for XML Binding (JAXB) 是Java平台中用于处理XML和Java对象之间转换的一个标准API。它使得在Java应用程序中使用XML数据变得更加方便,无需手动编写大量的转换代码。本教程将详细介绍JAXB如何实现...

    xml文件自动转成java对象工具

    总之,XML文件自动转成Java对象工具是Java开发中不可或缺的一部分,它极大地简化了XML数据处理,提高了开发效率。通过理解和利用这类工具,开发者可以更专注于业务逻辑,而非基础的数据转换工作。

    XML转换为JAVA对象的方法

    XStream是一个强大的Java库,它可以将Java对象序列化为XML,同时也能将XML反序列化为等效的Java对象。这种功能使得开发者能够在XML和Java之间无缝地进行数据转换。在IDEA(IntelliJ IDEA)这样的集成开发环境中,...

    任意XML转实体类 实体类 转XML 方法 JAVA

    首先,XML转实体类的过程通常涉及到Java的反射API。反射允许程序在运行时检查类的信息,包括其字段和方法,从而动态地创建对象并调用其方法。当解析XML时,我们可以通过节点名称匹配到相应的类字段,然后使用反射来...

    java list和xml互转例子

    2. **XML转Java List**: - 解析XML文档,获取根Element。 - 遍历Element的子元素,每次遇到一个子元素,就创建一个新的Map对象。 - 子元素的标签作为Map的键,元素的文本或子元素作为对应的值。 - 将Map对象...

    java XML转成LIST可以转成指定的类数组

    在Java编程中,XML(eXtensible Markup Language)是一种常用的数据交换格式,它结构清晰、易于阅读,常用于存储和传输数据。当处理XML文件时,有时我们需要将其内容转换为Java对象,如List,以便于操作和处理。本篇...

    java一键xml转map,一键map转xml工具类

    在Java编程中,XML(可扩展标记语言)和Map(映射)是两种常见的数据存储和交换格式。XML因其结构化和易于解析的特性,在数据交换和配置文件中广泛使用,而Map则作为Java中存储键值对的高效数据结构。在实际开发中,...

    xml转换java对象

    在Java编程中,我们经常需要将XML文件的数据转换为Java对象,以便于处理和操作。Apache Commons Betwixt库提供了一种简单的方法来实现这个转换。 Apache Commons Betwixt是Apache软件基金会的一个项目,它提供了一...

    使用Betwixt将XML转为JAVA Bean(内有JAR包)

    在Java开发中,数据对象(通常称为Bean)与XML之间的转换是常见的需求,尤其是在处理配置文件、序列化或网络通信时。Betwixt是一个Apache软件基金会提供的库,专门用于XML与Java对象之间的绑定,使得我们可以方便地...

    java将xml串转换成Map类型

    将xml串转换成Map类型,如果有重复节点,自动转换为list类型存储,所以最终转换并非绝对Map

    xStream 实现xml与 java对象的转换

    【标题】:“xStream 实现xml与 java对象的转换” 在Java开发中,XML作为一种常见的数据交换格式,常用于存储和传输数据。然而,XML与Java对象之间的转换并不总是直观和简便的。这时,xStream库应运而生,它提供了...

    java 使用 JAXB 将xml转换为 bean 包含xml和dto和读取文件的util类

    Java中的JAXB(Java Architecture for XML Binding)是一个用于在Java对象和XML文档之间进行映射的标准API。这个技术使得开发者可以方便地将XML数据转换为Java对象,反之亦然。在给定的压缩包文件中,可能包含了实现...

    xml转对象封装的简单与复杂xml的转化写法

    标题提到的"xml转对象封装的简单与复杂xml的转化写法"主要涉及以下知识点: 1. **JDOM库**:JDOM是Java Document Object Model的缩写,它提供了一种在内存中表示XML文档的方式,通过创建SAXBuilder或DOMBuilder实例...

    webservice之使用jaxb把xml转换Object或把对象转换成xml文件

    JAXB是Java平台标准版(Java SE)的一部分,提供了一种自动的方式来绑定XML Schema到Java类,使得XML文档可以被Java对象解析,同时Java对象也可以被序列化为XML文档。这种机制极大地简化了XML数据处理,尤其是在...

    java实现word文档到xml文档转换浅析

    java实现word文档到xml文档转换浅析

    xml和java对象互转

    4. **XML转对象**:反向操作,将XML字符串转换回Java对象,使用`fromXML()`方法。 ```java String xmlInput = "&lt;student&gt;&lt;name&gt;John Doe&lt;/name&gt;&lt;age&gt;25&lt;/age&gt;&lt;/student&gt;"; Student deserializedStudent = ...

    java xml和map互转

    总结,使用DOM4J库,我们可以方便地在Java中实现XML与Map之间的互转。这不仅适用于简单的键值对,还支持嵌套结构、属性以及有无根节点的情况。在实际项目中,可以根据具体需求对这些方法进行适当的调整和优化。

    Java xml 转 map

    以下是一个简化的递归XML转Map的步骤: 1. **解析XML**:首先,你需要使用Java的内置库如`javax.xml.parsers.DocumentBuilderFactory`来创建一个`DocumentBuilder`实例,然后使用这个实例解析XML字符串或文件,得到...

Global site tag (gtag.js) - Google Analytics