`
qtlkw
  • 浏览: 308667 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Unmarshalling using Castor

    博客分类:
  • JAVA
阅读更多
Unmarshalling is the reverse process, building an object (i.e Java Object) from an XML representation(i.e schema).

Step 1:
Get the schema file which need to be unmarshalled.
For e.g In our case we have employees.xsd

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <xsd:element name="age" type="xsd:string"/>
    <xsd:element name="dept" type="xsd:string"/>
    <xsd:element name="employee">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="name"/>
                <xsd:element ref="age"/>
                <xsd:element ref="dept"/>
                <xsd:element ref="project"/>
            </xsd:sequence>
            <xsd:attribute name="id" type="xsd:string" use="optional"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="employees">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element maxOccurs="unbounded" minOccurs="1" ref="employee"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="fname" type="xsd:string"/>
    <xsd:element name="lname" type="xsd:string"/>
    <xsd:element name="name">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="fname"/>
                <xsd:element ref="lname"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="project" type="xsd:string"/>
</xsd:schema>


Step 2:
Write a Java Program to unmarshall XMl representation to Object
Note : To run Java Program, castor-0.9.9.1.jar,xerces.jar and common-logging.jar in project build path.

import org.exolab.castor.builder.SourceGenerator;

public class UnmarshallTest
{
    public void unMarshallTest() 
    {
        try
        {
            // instantiate the SourceGenerator
            SourceGenerator srcGen = new SourceGenerator();
            // call the generateSource method to generate the Object-Model from the
            // the schema and put it in a package
            srcGen.generateSource("employees.xsd", "com.ibm.employee"); 
            System.out.println("Completed..");
        }
        catch(Exception e)
        {
            System.out.println(e.toString());
        }
    }
    
    public static void main(String[] args) 
    {
        UnmarshallTest test = new UnmarshallTest();
        test.unMarshallTest();
    }
}
分享到:
评论

相关推荐

    castor castor castor 资料

    Castor是一种开源的数据绑定框架,它允许在Java对象和XML之间进行双向转换。这个框架的主要目的是简化数据交换,使得开发者可以轻松地将Java对象序列化为XML,或者将XML反序列化为Java对象。这对于处理XML数据,如...

    castor1.4 xsd生成java

    Castor是Java中的一款开源工具,它主要用于XML到Java对象的映射,以及Java对象到XML的转换。在XML Schema(XSD)广泛应用于定义XML数据结构的今天,Castor提供了一个方便的方法,将XSD文件自动转化为Java类,使得...

    castor1.3 完整jar包

    Castor是Java开发中的一款强大的数据绑定框架,它允许开发者在Java对象、XML文档、SQL数据库表以及LDAP目录之间进行无缝的数据转换。这个"castor1.3 完整jar包"包含了Castor库的1.3rc1版本,便于开发者直接引入到...

    解决Castor使用时根节点问题

    Castor,全称为Java Content Repository (JCR) API的实现之一,它是一个强大的Java对象到XML数据绑定库,常用于将Java对象序列化为XML,或者反序列化XML到Java对象。在处理XML数据时,根节点是XML文档中至关重要的...

    castor详解及源代码

    - 解组(Unmarshalling)是反向过程,即从XML文档中提取数据并创建或填充Java对象。这通常通过`Unmarshaller`接口实现。 4. **模式之间的映射**: - 在处理XML时,Castor支持多种XML Schema(XSD)模式。映射文件...

    eclipse中castor插件

    Castor是一个开源Java库,主要用于XML到Java对象的映射(XML Binding)和Java到XML的转换。在Eclipse这样的集成开发环境中,Castor插件的集成极大地简化了数据绑定的过程,使得开发者能够轻松地在Java类和XML文档...

    castor 学习文档英文原版

    Castor是一款基于Java的数据绑定工具,用于处理XML数据。它允许开发者将XML数据绑定到Java对象,反之亦然,以简化对XML数据的处理。Castor通过映射文件将XML数据结构与Java类定义关联起来。该工具集成了多种XML解析...

    castor插件java对象和XML自动绑定maping文件生成和java对象一键生成工具

    Castor是一款强大的Java库,它提供了Java对象到XML数据的自动转换功能,反之亦然。这个插件的主要目的是简化XML处理,特别是在Java应用程序中。它通过创建映射文件(Mapping Files)来定义Java对象和XML元素之间的...

    castor-1.0-xml.jar

    org.castor.util.IdentityMap org.castor.util.IdentitySet org.exolab.javasource.JEnum org.exolab.javasource.JType org.exolab.castor.util.List org.exolab.javasource.Header org.exolab.javasource.JClass ...

    castor-1.3.2.zip

    Castor是一个强大的Java库,主要用于将Java对象转换为XML文档,反之亦然。这个"castor-1.3.2.zip"压缩包包含了Castor框架的1.3.2版本,它是一个流行的版本,提供了对Java对象到XML绑定的支持,这对于处理数据交换、...

    castor-0.9.9.zip

    Castor是一个开源的数据绑定框架,它允许Java程序员在XML文档和Java对象之间进行无缝转换。Castor提供了XML序列化和反序列化的功能,使得开发者能够将XML数据直接映射到Java对象,反之亦然,极大地简化了数据交换的...

    castor实现xsd生成javabean所需jar

    java -classpath D:\xsd/castor-1.2-anttasks.jar;D:\xsd/castor-1.2-codegen.jar;D:\xsd/commons-logging-1.1.jar;D:\xsd/castor-1.2-ddlgen.jar;D:\xsd/castor-1.2-jdo.jar;D:\xsd/castor-1.2-xml-schema.jar;D:\...

    castor资源收集 api 教程 源码

    Castor资源收集API教程源码解析 在编程领域,Castor API是一个强大的工具,它主要用于数据绑定和对象-XML转换。这个教程将深入探讨Castor API的使用,以及如何通过源码来理解其工作原理。让我们一起探索这个API的...

    castor-1.2.zip

    Castor是Java社区中一个知名的开源项目,它提供了一个强大的数据绑定框架,使得XML文档与Java对象之间的转换变得更加简单和直观。"castor-1.2.zip" 是这个项目的某个版本,具体为1.2版的归档文件,通常包含了源代码...

    castor R/M映射神器

    castor简介 castor是一种将java对象和XML自动绑定的开源软件。它可以在java对象、XML文本、SQL数据表以及LDAP目录之间绑定。Castor几乎是JAXB的替代品。Castor是ExoLab Group下面的一个开放源代码的项目,它主要实现...

    CASToR核医学(CT,PET,SPECT)重建软件

    CASToR,全称为“Computed Axial Tomography Reconstruction for Nuclear Medicine”,是一款专为核医学成像设计的图像重建软件。它的主要功能集中在CT(计算机断层扫描)、PET(正电子发射断层扫描)、SPECT(单...

    castor 框架jar包和src

    Castor框架是一个开源Java库,主要用于XML数据绑定和对象关系映射(ORM)。它提供了一种将XML文档转换为Java对象以及将Java对象序列化为XML的机制,从而简化了XML处理并促进了Java应用程序与XML数据之间的交互。下面...

    Castor的使用,如何将java object转换为xml

    Castor是一个开源的数据绑定框架,它允许Java开发者在Java对象和XML之间进行无缝转换。这个强大的工具能够将复杂的Java对象模型映射到XML文档,同时也能够将XML数据解析回等效的Java对象,极大地简化了Java应用中的...

    Castor学习笔记 (转载)

    《Castor学习笔记》 Castor是一个开源的Java库,主要用于在Java对象和XML数据之间进行映射。它提供了一种简单的方法来处理XML数据,将XML文档转换为Java对象,反之亦然,极大地简化了数据交换的工作。在这个学习...

    castor-1.2系列.rar

    castor-1.2.jar castor-1.2-anttasks.jar castor-1.2-codegen.jar castor-1.2-ddlgen.jar castor-1.2-jdo.jar castor-1.2-xml-schema.jar castor-1.2-xml.jar

Global site tag (gtag.js) - Google Analytics