javabean对象数据通过castor转换成xml格式数据
CastorBeanToXmlTest.java
package com.wj.castor;
import java.util.*;
import java.io.*;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.exolab.castor.xml.Marshaller;
import org.exolab.castor.mapping.Mapping;
/**
*
* 根据bean数据生成xml格式数据
*
* 测试:
* (A):不要Mapping.xml
* (B):加入Mapping.xml进行
*
* @author wjcom
* @version [版本号, 2010-7-28]
* @see [相关类/方法]
* @since [产品/模块版本]
*/
public class CastorBeanToXmlTest
{
private static final Log LOGGER = LogFactory.getLog(CastorBeanToXmlTest.class);
public static void main(String[] args)
{
/*
* 初始化bean数据
*/
List<Person> beans = new ArrayList<Person>();
Person bean1 = new Person();
bean1.setName("David");
bean1.setSex("女");
bean1.setAge(24);
beans.add(bean1);
Person bean2 = new Person();
bean2.setName("WJ");
bean2.setSex("男");
bean2.setAge(25);
beans.add(bean2);
try
{
/*
* write it out as XML
* 生成xml文档
*/
File file = new File("D:\\eclipse3.5.1\\workspace\\learning\\src\\com\\wj\\castor\\Person1.xml");
Writer writer = new FileWriter(file);
/*
* 加载mapping文件
* 这个地方一定要这样初始化
*/
Marshaller mar = new Marshaller(writer);
Mapping map = new Mapping();
map.loadMapping("D:\\eclipse3.5.1\\workspace\\learning\\src\\com\\wj\\castor\\mapping_beanToxml.xml");
mar.setMapping(map);
/*
* 生成xml文档
*/
mar.marshal(beans);
}
catch (Exception ex)
{
LOGGER.info(ex.getMessage());
}
}
}
Person.java
package com.wj.castor;
/**
* 实体bean
* @author wjcom
*
*/
public class Person
{
/*
* 名次
*/
private String name;
/*
* 性别
*/
private String sex;
/*
* 年龄
*/
private int age;
/**
* set get方法略
*/
@Override
public String toString() {
return "Person [age=" + age + ", name=" + name + ", sex=" + sex + "]";
}
}
mapping_beanToxml.xml
转换规则配置文件如下
<!DOCTYPE databases PUBLIC
"-//EXOLAB/Castor Mapping DTD Version 1.0//EN"
"http://castor.exolab.org/mapping.dtd">
<mapping>
<description>Basic mapping example</description>
<class name="com.wj.castor.Person" auto-complete="true">
<map-to xml="Person" />
<field name="name">
<bind-xml name="name" node="attribute" />
</field>
<field name="sex">
<bind-xml name="sex" node="attribute" />
</field>
<field name="age">
<bind-xml name="age" node="attribute" />
</field>
</class>
</mapping>
转换生成结果文件person1.xml
<?xml version="1.0" encoding="UTF-8"?>
<array-list>
<Person name="David" sex="女" age="24"/>
<Person name="WJ" sex="男" age="25" />
</array-list>
分享到:
相关推荐
Castor是一个开源的数据绑定框架,它允许Java开发者在Java对象和XML之间进行无缝转换。这个强大的工具能够将复杂的Java对象模型映射到XML文档,同时也能够将XML数据解析回等效的Java对象,极大地简化了Java应用中的...
- `Castor`:另一个强大的Java对象与XML数据绑定工具,支持XML到Java对象以及Java对象到XML的双向转换。 5. **XML与JSON对比**: - JSON通常被认为比XML更简洁,更适合网络传输,因为它的语法更接近编程语言,...
Castor实现XML与Java的互转,是目前非常流行的WSDL中常用的方法。有兴趣的可以下载看看
Castor是一个Java库,它提供了一种方便的方式来映射XML数据到Java对象,反之亦然。这个工具在处理XML文档时特别有用,因为它允许开发者通过简单的对象操作来处理复杂的XML结构,而无需直接处理XML语法。本文将深入...
Castor是一个开源的Java库,它提供了一个强大的框架,用于在Java对象和XML文档之间进行映射和转换。这个库的使用使得数据序列化和反序列化变得简单,尤其是在处理复杂的对象模型时。本文将深入探讨如何使用Castor在...
Castor是一个Java库,用于将XML数据映射到Java对象(即bean)和从Java对象反向映射回XML。这个“castor-1.3.1-examples.zip”文件包含了一些示例,展示了如何使用Castor进行XML到Bean以及Bean到XML的转换。这个过程...
Castor是一款强大的Java库,它提供了Java对象到XML数据的自动转换功能,反之亦然。这个插件的主要目的是简化XML处理,特别是在Java应用程序中。它通过创建映射文件(Mapping Files)来定义Java对象和XML元素之间的...
Unmarshall与Marshall使用的castor-xml-1.3.2.jar包
Spring 的Object/XML 映射支持Demo,spring结合第三方Castor Spring 3.0 的一个新特性是 O/X Mapper。O/X 映射器这个概念并不新鲜,O 代表 Object,X 代表 XML。它的目的是在 Java 对象(几乎总是一个 plain old ...
castor解析xml
Castor是一个强大的Java库,主要用于XML到对象绑定和对象到XML的数据转换。它提供了一种简单的方法来将复杂的XML文档映射为Java对象,并且能够反向操作,将Java对象序列化为XML格式。这个工具在处理XML数据时极大地...
在XML Schema(XSD)广泛应用于定义XML数据结构的今天,Castor提供了一个方便的方法,将XSD文件自动转化为Java类,使得开发者能够更轻松地处理XML数据。以下是关于"Castor 1.4 xsd生成java"的相关知识点: 1. **...
Castor提供了灵活性和便利性,可以处理复杂的数据结构和嵌套对象,是Java开发中进行对象-XML转换的一个有效工具。但需要注意的是,与JAXB等其他API相比,Castor的社区支持和更新可能相对较弱,因此在选择时需权衡...
Castor是Java中一个强大的数据绑定框架,它允许开发者将XML文档与Java对象之间进行映射,从而实现XML数据的序列化和反序列化。在Java应用开发中,处理XML数据时,通常需要将XML文件内容转换为Java对象,或者将Java...
Castor是一个Java库,它提供了一种将Java对象序列化为XML和反序列化XML回Java对象的能力。这个工具在处理XML数据时非常有用,尤其是当你需要在Java应用程序和XML数据之间建立映射关系时。在Java开发中,XML常用于...
Castor是一种开源的数据绑定框架,它允许在Java对象和XML之间进行双向转换。这个框架的主要目的是简化数据交换,使得开发者可以轻松地将Java对象序列化为XML,或者将XML反序列化为Java对象。这对于处理XML数据,如...
博客链接提到的是iteye上的一篇关于Castor的博客文章,可能详细介绍了如何使用Castor进行XML数据绑定,包括安装、配置、映射文件的创建以及示例代码等。 在实际应用中,使用Castor通常涉及以下步骤: 1. **安装与...
XML与Java技术之间的一种高效交互方式是通过数据绑定来实现的,其中Castor是一个流行的开源框架。数据绑定允许开发者将XML文档直接映射到Java对象,反之亦然,从而简化了处理XML数据的过程。这种方式特别适合那些...
Castor 项目采用 BSD 类型的证书,因此可在任何类型的应用程序(包括完整版权的项目)中使用。 Castor 实际上仅仅有 XML 数据绑定,它还支持 SQL 和 LDAP 绑定