XMLBeans应用:将Schema转变成Java代码

原创 2005年03月04日 08:06:00

1Introduction to XMLBeans

XMLBeans is a tool that allows you to access the full power of XML in a Java friendly way. It is an XML-Java binding tool. The idea is that you can take advantage the richness and features of XML and XML Schema and have these features mapped as naturally as possible to the equivalent Java language and typing constructs. XMLBeans uses XML Schema to compile Java interfaces and classes that you can then use to access and modify XML instance data. Using XMLBeans is similar to using any other Java interface/class, you will see things like getFoo or setFoo just as you would expect when working with Java. While a major use of XMLBeans is to access your XML instance data with strongly typed Java classes there are also API's that allow you access to the full XML infoset (XMLBeans keeps full XML Infoset fidelity) as well as to allow you to reflect into the XML schema itself through an XML Schema Object model.

译:XMLBeans是一个工具,通过它可以在Java中访问XML的强大功能。它是将XMLJava绑定的工具。这意味着,你能享受XMLXML Schema的超级特性,并且可以将其很好地转换为Java代码。XMLBeans利用XML Schema编译成Java接口和类,以至于你能用来访问和修改实例化的XML数据。使用XMLBeans与使用Java接口/类一样,你将看到象SETGET这样的方法,它们是在Java中经常用到的。XMLBeans的主要用处是通过强大的Java类来访问实例化XML数据,利用Java类中的API可以访问XML中的所有元素(XMLBeans很好的保存着这些元素),也允许你通过XML Schema对象模型展现XML Schema本身。

 

2、编写XML Schema

例如:〔Template.xsd

<?xml version="1.0" encoding="GB2312"?>

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://cms.creator/template/data" xmlns:data="http://cms.creator/template/data" elementFormDefault="qualified">

       <xsd:complexType name="template">

              <xsd:sequence>

                     <xsd:element name="template" type="data:template" maxOccurs="unbounded"/>

              </xsd:sequence>

              <xsd:attribute name="ID" type="xsd:string"/>

              <xsd:attribute name="CHINA_NAME" type="xsd:string"/>

              <xsd:attribute name="MAIN_FILE_NAME" type="xsd:string"/>

              <xsd:attribute name="ROOT_PATH" type="xsd:string"/>

              <xsd:attribute name="MEMO" type="xsd:string"/>

              <xsd:attribute name="CREATE_TIME" type="xsd:string"/>

              <xsd:attribute name="CREATE_AUTHOR" type="xsd:string"/>

              <xsd:attribute name="IS_OPEN" type="xsd:string"/>

              <xsd:attribute name="PARENT_ID" type="xsd:string"/>

              <xsd:attribute name="IS_DIRECTORY" type="xsd:string"/>

       </xsd:complexType>

       <xsd:element name="template" type="data:template"/>

</xsd:schema>

 

3、编译Schema

注:本来要求自己搭环境编译的,但Apache提供了网上直接编译的窗口,下次再写XMLBeans环境如何搭建的吧!

1)输入:http://xmlbeans.webappshosting.com/schemaToolsV2/compile.do(注意:XMLBeans的版本为2.0

2)选择多选框:Keep XMLBeans Java Source(可以查看源代码)和Enable Downloads(可以下载Jar包),输入Jar包的名称(如:SchemaOfTemplate.jar

3)下载Jar包(注意:包不可以直接使用,要重新打,因为包中没有META-INF目录)

4)将生成creator.cms.template.data.TemplateDocumentcreator.cms.template.data.Template两个主类和一些附属类

 

4、下载xmlbeans-2.0.ziphttp://xmlbeans.apache.org),使用xbean.jarjsr173_api.jar

 

5、这样就可以使用了,好像对Template数据结构对象一样操作,如SETGET方法,太棒了!

 

import creator.cms.template.data.*;

import creator.cms.template.data.TemplateDocument.*;

TemplateDocument templateDocument = TemplateDocument.Factory.newInstance();

Template template = templateDocument.addNewTemplate();

template.setID(ID);

        template.setCHINANAME(CHINA_NAME);

        template.setMAINFILENAME(MAIN_FILE_NAME);

        template.setROOTPATH(ROOT_PATH);

        template.setMEMO(MEMO);

        template.setCREATETIME(CREATE_TIME);

        template.setCREATEAUTHOR(CREATE_AUTHOR);

        template.setISOPEN(IS_OPEN);

        template.setPARENTID(PARENT_ID);

        template.setISDIRECTORY(IS_DIRECTORY);

templateDocument.toString()

<template ID="1" CHINA_NAME="模板五" MAIN_FILE_NAME="indexw.html" ROOT_PATH="E:/MyProjects/R_MHWZ/MHWZ/cms/template/indexw" MEMO="模板五:说明" CREATE_TIME="2005-03-02 16:42:47" CREATE_AUTHOR="谭波" IS_OPEN="0" PARENT_ID="0" IS_DIRECTORY="1" xmlns="http://cms.creator/template/data">

  <template ID="8300" CHINA_NAME="模板一" MAIN_FILE_NAME="c.htm" ROOT_PATH="E:/MyProjects/R_MHWZ/MHWZ/cms/template/c" MEMO="模板一:说明" CREATE_TIME="2005-03-02 16:34:12" CREATE_AUTHOR="谭波" IS_OPEN="0" PARENT_ID="1" IS_DIRECTORY="1"/>

  <template ID="8400" CHINA_NAME="模板二" MAIN_FILE_NAME="fxrs.htm" ROOT_PATH="E:/MyProjects/R_MHWZ/MHWZ/cms/template/fxrs" MEMO="模板二:说明" CREATE_TIME="2005-03-02 16:35:14" CREATE_AUTHOR="谭波" IS_OPEN="0" PARENT_ID="1" IS_DIRECTORY="1"/>

  <template ID="8500" CHINA_NAME="模板三" MAIN_FILE_NAME="goodnews.htm" ROOT_PATH="E:/MyProjects/R_MHWZ/MHWZ/cms/template/goodnews" MEMO="模板三:说明" CREATE_TIME="2005-03-02 16:35:31" CREATE_AUTHOR="谭波" IS_OPEN="0" PARENT_ID="1" IS_DIRECTORY="0">

    <template ID="8600" CHINA_NAME="模板四" MAIN_FILE_NAME="index.htm" ROOT_PATH="E:/MyProjects/R_MHWZ/MHWZ/cms/template/index" MEMO="模板四:说明" CREATE_TIME="2005-03-02 16:35:49" CREATE_AUTHOR="谭波" IS_OPEN="0" PARENT_ID="8500" IS_DIRECTORY="1"/>

  </template>

</template>

 

Java程序员从笨鸟到菜鸟之(二十五)XML之Schema验证

XML Schema是用一套预先规定的XML元素和属性创建的,这些元素和属性定义了XML文档的结构和内容模式。XML Schema规定XML文档实例的结构和每个元素/属性的数据类型。 为什么要用Sc...
  • csh624366188
  • csh624366188
  • 2012年04月06日 13:03
  • 7609

使用xmlbeans根据xsd文件生成对应的jar包

使用xmlbeans根据xsd文件生成对应的jar包
  • liweifengwf
  • liweifengwf
  • 2013年08月28日 19:28
  • 1928

使用Schemagen从java类变成schema

1.编写一个自己需要的java类   package com.soa.my.java2schema; public class Product { private static final ...
  • u013998070
  • u013998070
  • 2015年04月07日 14:36
  • 651

Schema校验java

  • 2017年08月28日 11:21
  • 2.03MB
  • 下载

【转】XML Schema学习笔记详解WSDL types

一个简单的 XML 文档:请看这个名为 "note.xml" 的 XML 文档:ToveJaniReminderDon't forget me this weekend!XML Schema下面这个例...
  • smqjzzm1988
  • smqjzzm1988
  • 2011年04月18日 22:21
  • 2661

使用xmlbeans讲xsd生成Jar文件

  • 2017年09月21日 12:14
  • 2.16MB
  • 下载

Javaweb-xml编程-Schema

XML Schema 也是一种用于定义和描述XML文档结构与内容的模式语言,其出现是为了克服DTD的局限性。与DTD对比 XML Schema符合XML语法结构。 DOM、SAX等XML API很容易...
  • spring_willow
  • spring_willow
  • 2017年11月26日 22:08
  • 24

Java软件架构设计

开始的架构设计也是最难的,需要调研同类产品的情况以及技术特征,了解当前世界上对这种产品所能提供的理论支持和技术平台支持,再结合自己项目的特点(需要透彻的系统分析),才能逐步形成自己项目的架构蓝图。  ...
  • hdy007
  • hdy007
  • 2007年02月14日 13:57
  • 5346

将Schema文件转换为Java文件

可通过xjc命令完成将schema文件转换为java文件。 打开命令控制台,切换至项目中xsd文件所在目录,如E:\Eclipse\webservice\03_schema\src\schema ...
  • linjingj
  • linjingj
  • 2013年11月30日 23:34
  • 940

用命令将 xsd 转成 javaben 很简单

Xsd转换成javaBean   xjc -d F:/ -p com.creval.xsd.test E:/server.xsd xjc是java中自带的命令 -d指定生成的java文...
  • tyt1002
  • tyt1002
  • 2017年03月21日 11:38
  • 477
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:XMLBeans应用:将Schema转变成Java代码
举报原因:
原因补充:

(最多只允许输入30个字)