xml基础

来源:互联网 发布:网络墨迹是什么意思 编辑:程序博客网 时间:2024/06/07 05:56

XML文件组成部分:
1.文档声明:
    1)<?xml version="1.0" ?>//基本格式
    2)<?xml version="1.0" encoding="GB2312">//编码,UTF-8,与打开码表数据有关,想存,另存为选择UTF-8保存
    3)<?xml version="1.0" encoding="GB2312" standalone="no/yes" ?>是否独立
2.元素
    指的是XML文件中出现的标签,分为开始标签和结束标签
    <a></a>==<a/>
    元素之间空格和换行是被认为原始内容处理的
3.属性
    属性有自己的名称和取值
    <input name="text">等同于<input><name>text</name></input>
4.注释
    <!--注释-->//格式
    注释不能嵌套注释
5.CDATA区、特殊字符
    在编写XML文件时,有些内容可能不想让解析引擎
    解析执行,而是当作原始内容处理。xml致肌肉原封不
    动的输出。
    语法<![CDATA[
        <hello>
            <br>
        </hello>
    ]]
    转义字符:对于一些单个字符,若想显示其原始样式
    也可以使用转义的形式给予处理
    特殊     替代
    &         &amp;
    <         &lt;
    >          &gt;
    "         &quot;
    '         &apos;
6.处理指令(processing instruction)
    解析引擎如何解析XML文档内容
    <?xml-stylesheet type="text/css" href="url">



XML约束
在XML技术里,可以编写一个文档来约束一个XML
文档的书写规范,这称之为XML约束

常用的约束技术
1.XML DTD
2.XML Schema


DTD(document type definition):文档类型定义
pcdata:parse character data:可解析的数据
<?xml version="1.0">
<!DOCTYPE 书架 SYSTEM “book.dtd”>//引入dtd,也可以内部直接写入
<书架>
    <书>
        <书名>1</书名>
        <作者>2</作者>
        <价格>3</价格>
    </书>
    <书>
        <书名>rr</书名>
        <作者>rr</作者>
        <价格>5</价格>
    </书>
</书架>
文件清单:book.dtd
<!ELEMENT 书架 (书+)>
<!ELEMENT 书 (书名,作者,价格)>
<!ELEMENT 书名(#PCDATA)>
<!ELEMENT 作者(#PCDATA)>
<!ELEMENT 价格(#PCDATA)>

DTD约束语法细节
1.元素定义
    <!ELEMENT 元素名称 元素类型>
    <!ELEMENT 书架 (书+)>
    <!ELEMENT 书 (书名,作者,价格)>//出现顺序保持一致
    <!ELEMENT 书名(#PCDATA)>
    *EMPTY:用于定于空元素
    *ANY:表示元素内容为任意类型
    <!ELEMENT 书架 ANY>//可以存放任意数据
    
    <!ELEMENT 书 (书名,作者,价格)>
    用,分开,出现顺序保持一致
    用|分开,表示任选其一,最多只能出现一个
    +:表示一次或多次(书+)
    ?:0次或一次(书?)
    *:一次或多次(书*)
    (书):默认一次
    
    也可以使用()批量设置,例:
    <!ELEMENT MYFILE((TITLE*,AUTHOR?,EMAIL)*|comment)>
    
2.属性定义:通过ATTLIST设置(attibute)
    <!ATTLIST 元素名称
        属性名1 属性值类型 设置说明
        属性名2 属性值类型 设置说明
    >
    <!ATTLIST 商品
        类别 CDATA #REQUIRED
        颜色 CDATA #IMPLED
    >
    
    设置说明:
    #REQUIRED:必须设置该属性
    #IMPLED:可以设置也可以不设置
    #FIXED:取值固定为一个值
    
3.实体定义
    参数实体
    
    
    
XML解析方式分为两种:dom和sax
1.dom(document object model):文档对象模型
是w3c推荐的一种解析方式
    变成Document对象
    缺点:对内存的消耗比较大
    优点:对文档增删改查比较容易
2.sax(simple API for XML):不是官方标准,但是
几乎所有的XMl解析器都支持它。
    优点:对内存占用少,解析速度快s
    缺点:适合做查询,不适合增删改
    
XML解析开发包:
jaxp(sun),Jdom,dom4j


更新XMl中的数据
Transform

所有平面图形题目都可以看成二维数组


sax解析:
解析器
事件处理器


Xpath提取xml文档数据
1.selectSingleNode("表达式")
2.selectNodes("表达式")



XMl Schema:扩展名为.xsd(模式文档)
用于定义个描述XML文档结构与内容的模式语言,
其出现是为了克服DTD的局限性

Schema vs DTD:
1.XML Schema符合xml语法结构
2.DOM、SAX、等XML解析器更容易解析
Schema文档中的内容
3.Schema对名称空间支持非常好
4.支持定义更多的数据类型
5.Schema定义约束的能力更加强大
6.不能像DTD一样定义实体,比DTD更加复杂,
Schema正在取代DTD

一个XML Schema文档通常被称为模式文档(约束文档),
遵循这个文档书写的xml文件成为实例文档





















































0 0
原创粉丝点击