正 文

用JAXB生成一个XML文档


www.7dspace.com  更新日期:2005-10-26 2:26:11  七度空间


      对于示例XML模式中的每个顶层xs:element和顶层xs:complexType,都对应地生成了一个Java接口和一个Java类。同时也创建了一个工厂类(ObjectFactory.java),包含了创建接口对象的方法。可以在在篇文章的示例代码文件jaxb-java- resources.zip中找到ObjectFactory.java类。

      Catalog.java是对应顶层元素catalog生成的接口。从模式的元素中生成的接口扩展了javax.xml.bin.Elemnt类。

      Catalog.java:

package generated;
public interface Catalog 
extends javax.xml.bind.Element, generated.CatalogType{}

      CatalogType.java是对应顶层复杂元素catalogType生成的接口。CatalogType接口对应catalog元素的每个属性指定了setter和getter方法,还有对应catalog元素中的journal元素 的一个getter方法。

      CatalogType.java:

package generated;
public interface CatalogType
{  
java.lang.String getSection();  
void setSection(java.lang.String value);  
java.util.List getJournal();  
java.lang.String getPublisher();  
void setPublisher(java.lang.String value);
}
 
      CatalogImpl.java 和CatalogTypeImpl.java是分别对应Catalog.java 和 CatalogType.java接口的实现类。

      从Java类中创建一个XML文档

      这一节中,一个示例XMl文档将会通进JAXB从Java类被创建。示例XML文档,catalog.xml,如下显示:

<?xml version="1.0" encoding="UTF-8"?>
<catalog xmlns="http://www.w3.org/2001/XMLSchema-Instance" section="Java Technology" publisher="IBM developerWorks">
<journal>
<article level="Intermediate"  date="January-2004" >
<title>Service Oriented Architecture Frameworks </title>
<author>Naveen Balani</author>
</article>
<article level="Advanced" date="October-2003"  >
<title>Advance DAO Programming</title>
<author>Sean Sullivan</author>
</article>
<article level="Advanced" date="May-2002"  >
<title>Best Practices in EJB Exception Handling  </title>
<author>Srikanth Shenoy    </author>
</article>
</journal>
</catalog>

      从Java类中创建一个CatalogImpl类, 并且使用一个Marshaller(排列者)将CatalogImpl序列化来生成一个XML文档。

      创建Marshaller(排列者)

      首先,导入javax.xml.bind包,其中包含了Marshaller, UnMarshaller, 和 JAXBContext类。Marshaller类用来将一个Java类转换为XML数据。UnMarshaller类转换一个XML文档成Java对象。

import javax.xml.bind.*;

4页,页码:[1] [2] [3] [4] 

上一篇:如何规避客户端浏览器缓存风险
下一篇:用 AXIOM 促进 XML 处理
作者:  来源:Matrix ( 责任编辑:7dspace )
收藏此页】【打印】【关闭
站 内 搜 索
 

热 点 导 读
特 别 推 荐