xmlbeans 2.5.0使用详细说明

xmlbeans有点和hibernate相识,hibernate对数据进行对象化操作,xmlbeans对xml进行对象操作化,很好用,不过很少人用,也可能是对初学者来说比较难入门的原因

 

先到官网上下载xmlbeans 2.5.0,到apache官网下载,下载只要下载xmlbeans-2.5.0.zip就好

解压,可以看到以下的几个目录:

-bin               常用的命令在这个目录

-lib                一些核心或者用到的JAR

-docs            文档

-samples      示例包括schema和生成后的xml

-schemas     一些schema示例,直接可以拿来打包

 

注意的地方

schema手写的时候最好在IDE里面写,里面可以告诉你详细的错误信息

从里面拿个示例出来,schemas/easypo.xsd

 

<xs:schema
   xmlns:xs="http://www.w3.org/2001/XMLSchema"
   xmlns:po="http://openuri.org/easypo"
   targetNamespace="http://openuri.org/easypo"
   elementFormDefault="qualified">

  <xs:element name="purchase-order">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="customer" type="po:customer"/>
        <xs:element name="date" type="xs:dateTime"/>
        <xs:element name="line-item" type="po:line-item" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element name="shipper" type="po:shipper" minOccurs="0" maxOccurs="1"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:complexType name="customer">
    <xs:sequence>
      <xs:element name="name" type="xs:string"/>
      <xs:element name="address" type="xs:string"/>
    </xs:sequence>
    <xs:attribute name="age" type="xs:int"/>
    <xs:attribute name="moo" type="xs:int" default="100"/>
    <xs:attribute name="poo" type="xs:int" fixed="200"/>
  </xs:complexType>

  <xs:complexType name="line-item">
    <xs:sequence>
      <xs:element name="description" type="xs:string"/>
      <xs:element name="per-unit-ounces" type="xs:decimal"/>
      <xs:element name="price" type="xs:decimal"/>
      <xs:element name="quantity" type="xs:integer"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="shipper">
    <xs:sequence>
      <xs:element name="name" type="xs:string"/>
      <xs:element name="per-ounce-rate" type="xs:decimal"/>
    </xs:sequence>
  </xs:complexType>

</xs:schema>

 

  xmlns:po="http://openuri.org/easypo"                  //下面的元素引用到的都要以po:属性名命名,也可以写成 xmlns="http://openuri.org/easypo"   则下面的引用元素就不能以po:属性名命名

   targetNamespace="http://openuri.org/easypo"//这个是打包的时候的明白规则,可以不用,不用的时候可以在打包的时候加上,通过文件.xsdconfig索引定义的包名,下面有详细介绍

 

注意:如果这个类似这个schema,生成的xml在子节点位置要有attribute,则在增加,修改的方法不能直接用节点的documentsave,要把它转为String后再通过IO保存该XML数据

 

打包

schema写好后,到bin下打包,把easypo.xsd和easypo.xsdconfig一起扔到bin下

运行cmd窗口,切换到bin的当前目录,运行命令:

scomp -src easyposrc easypo.xsd easypo.xsdconfig      

 

命令解析:

//-src是生成的src的文件名,该src的文件名为easyposrc

easypo.xsd是要打包的schema

easypo.xsdconfig是命名规则,如果你在schema定义了targetNamespace,那么加上这个easypo.xsdconfig没效,最后生成的xml

                           文件是以targetNamespace定义的参数为准

 

 

下面的是一个写好的示例,注意,这个是另外的一个schema

xml文件

 

操作xml

把jar放到项目下,引入后,其他的操作都和操作对象没什么多大的区别

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值