xml格式数据数据通过castor转换成javabean对象
CastorXmlToBeanTest.java
package com.wj.castor;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.exolab.castor.mapping.Mapping;
import org.exolab.castor.xml.Unmarshaller;
import org.exolab.castor.xml.XMLContext;
/**
*
* 根据xml数据生成bean对象
*
* 测试:
* (A):不要Mapping.xml
* (B):加入Mapping.xml进行
*
* @author wjcom
* @version [版本号, 2010-7-28]
* @see [相关类/方法]
* @since [产品/模块版本]
*/
public class CastorXmlToBeanTest
{
private static final Log LOGGER = LogFactory
.getLog(CastorXmlToBeanTest.class);
private static Unmarshaller unmarshaller;
/**
* 静态块加载mapping.xml读取解析xml的规则
* 创建Unmarshaller对象
*/
static
{
try
{
Mapping mapping = new Mapping();
String url = "D:\\eclipse3.5.1\\workspace\\learning\\src\\com\\wj\\castor\\mapping_xmlTobean.xml";
mapping.loadMapping(url);
XMLContext context = new XMLContext();
context.addMapping(mapping);
unmarshaller = context.createUnmarshaller();
}
catch (Exception e)
{
LOGGER.info(e.getMessage());
}
}
/**
* 运行体
*/
public static void main(String[] args)
{
PersonCommonDataContext p = findPersonCommonData();
LOGGER.info(p);
}
/**
* 读取xml数据
* @return
*/
public static PersonCommonDataContext findPersonCommonData()
{
File configFile = new File(
"D:\\eclipse3.5.1\\workspace\\learning\\src\\com\\wj\\castor\\person2.xml");
if (!configFile.exists() || !configFile.canRead())
{
return null;
}
InputStream inputStream = null;
PersonCommonDataContext data = null;
try
{
inputStream = new FileInputStream(configFile);
if (null != unmarshaller)
{
data = read(inputStream);
}
}
catch (Exception e)
{
LOGGER.info(e.getMessage());
}
return data;
}
/**
* 从流中读取数据
* @param input
* @return
*/
public static PersonCommonDataContext read(InputStream input)
{
PersonCommonDataContext context = null;
try
{
if (null != unmarshaller)
{
context = (PersonCommonDataContext) unmarshaller
.unmarshal(new InputStreamReader(input));
}
}
catch (Exception e)
{
LOGGER.info(e.getMessage());
}
return context;
}
}
PersonCommonDataContext.java
package com.wj.castor;
import java.util.ArrayList;
import java.util.List;
public class PersonCommonDataContext
{
private List<Person> simpleProperties = new ArrayList<Person>(5);
public List<Person> getSimpleProperties() {
return simpleProperties;
}
public void setSimpleProperties(List<Person> simpleProperties) {
this.simpleProperties = simpleProperties;
}
@Override
public String toString() {
return "PersonCommonDataContext [simpleProperties=" + simpleProperties
+ "]";
}
}
分享到:
相关推荐
Castor是一个开源的数据绑定框架,它允许Java开发者在Java对象和XML之间进行无缝转换。这个强大的工具能够将复杂的Java对象模型映射到XML文档,同时也能够将XML数据解析回等效的Java对象,极大地简化了Java应用中的...
Castor实现XML与Java的互转,是目前非常流行的WSDL中常用的方法。有兴趣的可以下载看看
- `Castor`:另一个强大的Java对象与XML数据绑定工具,支持XML到Java对象以及Java对象到XML的双向转换。 5. **XML与JSON对比**: - JSON通常被认为比XML更简洁,更适合网络传输,因为它的语法更接近编程语言,...
本文将深入探讨如何使用Castor在Java和XML之间进行互转,并通过代码示例来阐述其工作原理。 ### 1. Castor简介 Castor是基于Java的,它通过生成Java类来解析XML文档,或者将Java对象转换为XML。它的核心功能包括:...
Castor是一个Java库,它提供了一种方便的方式来映射XML数据到Java对象,反之亦然。这个工具在处理XML文档时特别有用,因为它允许开发者通过简单的对象操作来处理复杂的XML结构,而无需直接处理XML语法。本文将深入...
Unmarshall与Marshall使用的castor-xml-1.3.2.jar包
Castor是一个Java库,用于将XML数据映射到Java对象(即bean)和从Java对象反向映射回XML。这个“castor-1.3.1-examples.zip”文件包含了一些示例,展示了如何使用Castor进行XML到Bean以及Bean到XML的转换。这个过程...
castor解析xml
Spring 的Object/XML 映射支持Demo,spring结合第三方Castor Spring 3.0 的一个新特性是 O/X Mapper。O/X 映射器这个概念并不新鲜,O 代表 Object,X 代表 XML。它的目的是在 Java 对象(几乎总是一个 plain old ...
Castor是一款强大的Java库,它提供了Java对象到XML数据的自动转换功能,反之亦然。这个插件的主要目的是简化XML处理,特别是在Java应用程序中。它通过创建映射文件(Mapping Files)来定义Java对象和XML元素之间的...
在XML Schema(XSD)广泛应用于定义XML数据结构的今天,Castor提供了一个方便的方法,将XSD文件自动转化为Java类,使得开发者能够更轻松地处理XML数据。以下是关于"Castor 1.4 xsd生成java"的相关知识点: 1. **...
Castor是Java中一个强大的数据绑定框架,它允许开发者将XML文档与Java对象之间进行映射,从而实现XML数据的序列化和反序列化。在Java应用开发中,处理XML数据时,通常需要将XML文件内容转换为Java对象,或者将Java...
在Java中,有多种方法可以实现JavaBean到XML的转换,包括使用API如JAXB(Java Architecture for XML Binding)、DOM(Document Object Model)、SAX(Simple API for XML)或者第三方库如Castor等。本篇我们将重点...
5. 在Java代码中使用Castor库,根据映射文件将XML数据反序列化为Java对象,或者将Java对象序列化为XML数据。 6. 编写并运行测试用例,确保数据转换的正确性。 总之,"castor插件java对象和XML自动绑定mapping文件...
Castor是一种开源的数据绑定框架,它允许在Java对象和XML之间进行双向转换。这个框架的主要目的是简化数据交换,使得开发者可以轻松地将Java对象序列化为XML,或者将XML反序列化为Java对象。这对于处理XML数据,如...
5. **支持XML Schema**: Castor能够基于XML Schema进行对象绑定,保证了数据的合法性。 6. **性能优化**:Castor使用高效的缓存机制,对于重复解析的XML节点,能有效避免不必要的内存开销。 7. **灵活的映射策略*...
Castor 项目采用 BSD 类型的证书,因此可在任何类型的应用程序(包括完整版权的项目)中使用。 Castor 实际上仅仅有 XML 数据绑定,它还支持 SQL 和 LDAP 绑定
博客链接提到的是iteye上的一篇关于Castor的博客文章,可能详细介绍了如何使用Castor进行XML数据绑定,包括安装、配置、映射文件的创建以及示例代码等。 在实际应用中,使用Castor通常涉及以下步骤: 1. **安装与...
一旦绑定完成,Castor可以自动将XML文档解析为Java对象,反之亦然,极大地简化了数据操作。 1. **安装与配置** 在使用Castor之前,首先需要将其添加到项目依赖中。如果你使用的是Maven,可以在pom.xml文件中添加...