*设为首页
*加入收藏
热门关键字: JAVA
>>当前位置:Java大本营>JAVA与XML>文章内容
用xmlbeans解析xml
作者: 发布时间:2007-11-15 15:08:04

【java大本营】http://www.javadby.com ,java实力站点,更新速度快,内容全面,鼓励原创,吸引了相当数量的IT学习者。  欢迎加入java交流群41970496,共同进步。

1、准备工作

(1)       下载xmlbeans-2.3.0
解压后的目录结构如下:
xmlbeans-2.3.0
    +----bin:常用的命令
    +----docs
    +----lib:使用xmlbeans必要的jar包
    +----samples
    +----schemas
(2)       配置环境变量
增加系统环境变量JAVA_HOME(D:\ProgramFile\Java\jdk1.5.0_07)XMLBEANS_HOME(D:\xmlbeans-2.3.0),并在path变量后增加D:\xmlbeans-2.3.0\bin和D:\ProgramFile\Java\jdk1.5.0_07\bin
2、准备XML Schema文件
XML Schema文件(后缀为.xsd)是一个XML的约束文件,它定义了XML文件的结构和元素以及对元素和结构的约束。XMLBean需要通过这个文件知道一个XML文件的结构以及约束,比如数据类型等。利用这个Schema文件,XMLBean将会产生一系列相关的Java Classes来实现对XML的操作。而作为开发人员,则是利用XMLBean产生的Java Classes来完成对XML的操作。
在本项目中,Schema文件由设计人员利用XMLSPY生成并提供给开发人员。
3、Xmlbeans生成jar和class文件
(1)     手写xsd配置文件
xsd配置文件(后缀为. xsdconfig)这个文件主要用来制定生成的Java Class的一些文件名规则和Package的名称。Xsdconfig文件的示例如下:
<xb:config xmlns:xb="http://xml.apache.org/xmlbeans/2004/02/xbean/config">
<xb:namespace uri="http://www.cattsoft.com/ wscrm">
    <xb:package>com.cattsoft. wscrm</xb:package>
</xb:namespace>
</xb:config>
写好改文件后将其保存为wscrm.xsdconfig,并将该文件和wsd文件一起放到schema文件夹中并放到xmlbeans的根目录下。
以后可以根据需要修改namespace和package。
注:namespace 后面跟着一个 url的attribute。 如果不加这个 attribute,同样也会生成xml bean文件,只不过生成的jar文件中会多一层xmlbean的package 。
(2)     手写运行脚本
Xmlbeans提供的一个编译工具(scomp命令),它在bin的目录下。通过这个工具,我们可以将Schema文件生成Java Classess。但是为了避免使用命令行窗口的麻烦,我们手写一个运行脚本(run.bat)如下所示:
set XMLBEANS_HOME=D:\xmlbeans-2.3.0
set XMLBEANS_LIB=D:\xmlbeans-2.3.0\lib
scomp -src build\src -out build\wscrm.jar schema\*.xsd -compiler D:\ProgramFile\bea\jdk142_05\bin\javac schema\wscrm.xsdconfig
    该脚本的含义是:告诉scomp生成wscrm.jar,放在build目录下,同时生成源代码放在build\src下, Schema文件是schema文件夹下的所有.xsd,xsdconfig文件是schema\wscrm.xsdconfig文件
可以将该文件也放到bin目录下,以后如果生成同一个jar文件可以直接运行run.bat。如果生成一个新的jar需要根据生成jar包名称、xsd文件的位置、xsdconfig文件位置等修改该运行脚本。
附:scomp的语法如下:  
scomp [options] [dirs]* [schemaFile.xsd]* [service.wsdl]* [config.xsdconfig]*  
  主要参数说明:
  -src [dir]-- 生成的Java Classes存放目录
  -srconly-- 不编译Java Classes,不产生Jar文件
  -out [jarFileName] -- 生成的Jar文件,缺省是xmltypes.jar
  -compiler-- Java编译器的路径,即Javac的位置
  schemaFile.xsd-- XML Schema文件位置
  config.xsdconfig-- xsdconfig文件的位置。
(3)        运行脚本
运行run.bat其实, 在xmlbeans的根目录下会生成一个build目录,该目录中即保存了生成的Java源代码和jar包。实际上生成的Java源代码没有多大作用,我们要的是jar文件。对于其中的每个wsd文件在jar包中都会存在一个根节点(XML文档的Java Class映射),该根节点名字为XXXDocument。每个XXXDocument中每个element
4、Java程序中读取\构造xml
(1)     xmlbeans\lib下的包和生成的jar包加入到ProjectClassPath
(2)     XML文件
步骤简要描述:
--XXXDocument.Factory.newInstance()得到XXXDocument的对象实例XXXDocument
--增加一个xs:complexType的节点用XXXDocument add方法,返回值类行为该复杂节点在xsd文件中定义的类型
--给一个复杂节点的简单类型属性赋值用该节点的set方法
--调用XXXDocument.toString()方法可以将该xml文件的按照字符串行式输出
示例如下:
共2页: 上一页 1 [2] 下一页

· mysql字符集问题(11-02)
· 排序算法java实现(11-02)
· 如何绑定Command的快捷键到上下文(11-02)
· JSP+MYSQL+Java类优化分页(09-03)
· hibernate3学习笔记(十九)|关系映射(09-03)
· hibernate3学习笔记(二十)|关系映射(09-03)
· 初探quartz scheduler (09-03)
· mysql数据库用jsp生成xml文件(09-02)
·Java中四种XML解析技术(05-21)
·XML解析技术 (03-20)
·java中用dom解析xml(02-02)
·如何用Java实现基于XML的购物车 (01-21)
复制地址发给您的好友: [推荐文章] [返回顶部] [关闭窗口]
版权所有 Java大本营 1999-2007 转载请注明出处