`
spring123666
  • 浏览: 1405 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

xmlBean学习

阅读更多
XmlBeans简介
XMLBeans是完全与模式兼容的XML-Java绑定 工具,使用这个工具可以以对Java友好的方式访问XML的全部特性。XMLBeans提供了一个通过schema处理xml的方法。通过XMLBeans我们通过编译schema(.xsd)产生不同的java类。并且XMLBeans把这些java类和xml 文档实例进行了绑定。这样XMLBeans就根据xml schema 为你就自动地生成了对这xml文档进行访问操作修改的java类(jar包)。通过这个jar包中类,你可以完成如:读取xml文档内容并包装成对象。查询、添加修改删除xml文档对象。
XmlBeans的几个特点
基于java 对象机制通过xml schema 自动生成映射的java对象结构。
 这些java对象之间的关系与xml schema 对应的元素关系完全一致。
 xmlbean 提供了一组api 来完成对映射对象的操纵和修改,从而完成对xml数据的操纵与修改。
 访问xml数据方便快速。

XmlBeans使用
1. 下载XmlBeans,配置环境变量
2. 生成Schema(.xsd)文件
可以手动编写,也可以使用XMLSPY和 Stylus Studio等一些工具通过xml文件来生成Schema文件
3. 利用scomp(XMLBean提供的一个编译工具)将Schema文件生成java classes文件和jar文件
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文件的位置, 这个文件主要用来制定生成的Java Class
                              的一些文件名规则和Package的名称,如包package是com.test

如:scomp  –src  src  –out  testXmlBean.jar  test.xsd  test.xsdconfig

4. 新建java Project,将XmlBeans和生成的jar文件加入到Project的ClassPath,利用XmlBeans读/写/修改/删除Xml文档对象

XML Schema
一、 xml Schema的用途
 定义一个Xml文档中都有什么元素
 定义一个Xml文档中都会有什么属性
 定义某个节点的都有什么样的子节点,可以有多少个子节点,子节点出现的顺序
 定义元素或者属性的数据类型
 定义元素或者属性的默认值或者固定值

二、 xml Schema根元素
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 表示数据类型等定义来自w3
targetNamespace="http://www.w3schools.com" 表示文档中要定义的元素来自什么命名空间
xmlns="http://www.w3schools.com"表示此文档的默认命名空间是什么
elementFormDefault="qualified"> 表示要求xml文档的每一个元素都要有命名空间指定
……定义主体部分……
</xs:schema>

三、 定义简单元素【元素实例:<color>red</color>】
<xs:element  此处表示要定义一个元素
name=”color” 表示要定义元素的名称
type=”xs:string”  表示要定义元素的数据类型
default=”red” 表示定义元素的默认值
fixed=”red”/> 表示要定义元素的固定值,此元素只可以取“red”值

四、 定义一个属性
<xs:attribute
name=”birthday” 表示要定义属性的名字
type=”xs:date” 表示要定义属性的数据类型
default=”2001-01-11” 表示要定义属性的默认值
fixed=”2001-01-11” 表示要定义属性的固定值
use=”required”/> 表示此属性是否是必须指定的,即如果不指定就不符合Schema,默认没有use=”required”属性表示属性可有可无

五、 元素/属性值的限定
限定 描述
enumeration 定义可接受值的一个列表
fractionDigits 定义所允许的最大的小数位数。必须大于等于0。
length 定义所允许的字符或者列表项目的精确数目。必须大于或等于0。
maxExclusive 定义数值的上限。所允许的值必须小于此值。
maxInclusive 定义数值的上限。所允许的值必须小于或等于此值。
maxLength 定义所允许的字符或者列表项目的最大数目。必须大于或等于0。
minExclusive 定义数值的下限。所允许的值必需大于此值。
minInclusive 定义数值的下限。所允许的值必需大于或等于此值。
minLength 定义所允许的字符或者列表项目的最小数目。必须大于或等于0。
pattern 定义可接受的字符的精确序列。
totalDigits 定义所允许的阿拉伯数字的精确位数。必须大于0。
whiteSpace 定义空白字符(换行、回车、空格以及制表符)的处理方式。

六、 定义复杂类型(参考W3School中Schema复合类型)

七、 7种指示器
 Order(顺序)指示器
All规定子元素可以按照任意顺序出现,且每个子元素必须只出现一次
choice 指示器规定可出现某个子元素或者可出现另外一个子元素(非此即彼)
sequence 规定子元素必须按照特定的顺序出现
 Occurrence 指示器(定义某个元素出现的频率)
maxOccurs 指示器可规定某个元素可出现的最大次数
minOccurs 指示器可规定某个元素能够出现的最小次数
 Group 指示器(用于定义相关的数批元素)
元素组 通过 group 声明进行定义
必须在 group 声明内部定义一个 all、choice 或者 sequence 元素
如:
<xs:group name="persongroup">
  <xs:sequence>
    <xs:element name="firstname" type="xs:string"/>
    <xs:element name="lastname" type="xs:string"/>
    <xs:element name="birthday" type="xs:date"/>
  </xs:sequence>
</xs:group>
属性组 通过 attributeGroup 声明来进行定义
如:
<xs:attributeGroup name="personattrgroup">
  <xs:attribute name="firstname" type="xs:string"/>
  <xs:attribute name="lastname" type="xs:string"/>
  <xs:attribute name="birthday" type="xs:date"/>
</xs:attributeGroup>
分享到:
评论

相关推荐

    xml和bean 互相转换

    xml和bean 互相转换

    Spring如何使用xml创建bean对象

    主要介绍了Spring如何使用xml创建bean对象,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    spring入门学习-3、Bean装配(XML).pdf

    spring入门学习-3、Bean装配(XML).pdf

    Spring基于xml文件配置Bean过程详解

    主要介绍了spring基于xml文件配置Bean过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    spring如何使用xml装配bean

    主要介绍了spring如何使用xml装配bean,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    Spring (bean怎样注入值)学习实例

    实例主要讲述了,Spring的Xml(list,set,map)怎样进行注入值

    Spring解密之XML解析与Bean注册示例详解

    主要给大家介绍了关于Spring解密之XML解析与Bean注册的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面小编来一起学习学习吧。

    spring famework xml配置使用示例

    使用xml文件配置和使用bean

    Spring如何在xml文件中配置Bean

    主要介绍了Spring如何在xml文件中配置Bean的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    Spring源码学习四:BeanDefinition装载前奏曲1

    框架的源码分析,有些代码可以暂时忽略,如Spring如何进行XML模式校验的、XML解析的细节等,这些代码可以在了解了整体的原理之后,再做针对性的分析,关注重点

    Java/JavaEE 学习笔记

    XML学习笔记...............106 XML前言...............106 第一章 XML Overview....................107 第二章 DTD...........109 第三章 XML Namespaces................111 第四章 XML Schema.....................

    IDEA MyBatis Plugins自动生成实体类和mapper.xml

    主要介绍了IDEA MyBatis Plugins自动生成实体类和mapper.xml,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    SSM框架的学习与应用-Java EE企业级应用开发学习记录-(第六天)初识Spring框架

    你将会看到如何配置Spring的IoC容器,定义和注册Bean,以及如何通过注解或XML配置文件来完成依赖注入。 简单工厂模式的实例:介绍了简单工厂模式的概念和使用场景,并结合Spring框架的IoC容器,展示了如何创建一个...

    JOX(解决了日期格式转化和导出XML中文乱码问题)

    但java本身提供的操作xml的方式有些麻烦,而JOX能够自动的把javabean转为xml,不需要定义DTD,不需要关注bean中的各个属性,几行代码就搞定。同时,把xml转换回javabean也很方便。从网上搜了很久也没有一篇完整的...

    SpringBoot 学习笔记+完整教程

    * 普通类调用 Bean * 使用模板引擎 * 集成 JSP * 集成 servlet * 集成 Fliter 和 Linstener * 拦截器 HandlerInterceptor * 系统启动任务 CommandLineRunner * 集成 Junit 单元测试 * 读取系统环境变量 * 使用自定义...

    J2EE学习笔记(J2ee初学者必备手册)

    XML学习笔记...............106 XML前言...............106 JavaEE@xuxiang 2 Java/JavaEE学习笔记Jonny xuxiang5612@sina.com 第一章 XML Overview....................107 第二章 DTD...........109 第三章 XML ...

    JAVA spring 系列案例50个和学习资料

    Spring系列第4篇:xml中bean定义详解(-)Spring系列第5篇:创建bean实例这些方式你们都知道?Spring系列第6篇:玩转bean scope,避免跳坑里!Spring系列第7篇:依赖注入之手动注入Spring系列第8篇:自动注入...

    spring学习的基本注解

    1、如果所有的内容都配置在.xml文件中,那么.xml文件将会...为了解决这两个问题,Spring引入了注解,通过"@XXX"的方式,让注解与Java Bean紧密结合,既大大减少了配置文件的体积,又增加了Java Bean的可读性与内聚性。

    学习SSM源码分析的一次实践,自己实现SSM框架

    在spring中最核心的就是IOC容器,默认采用的是通过单例的模式来进行管理我们注入到Ioc中的bean(当然我们也是可以修改成其他的模式,暂且不讨论),在spring中单例模式是采用注册的方式来实现的单例模式,所以我也是...

    JAXB学习笔记

    JAXB学习笔记 项目为了进行xml与java bean的互转,参考了各位网友的推荐,最后选型为JAXB,闲暇之余整理了一下笔记。废话不多说,上代码

Global site tag (gtag.js) - Google Analytics