XML_day1

一. XML的作用


<students>
    <student>
        <age>15</age>....
    </student>
    <student>
        ....
    </student>
</students>


    第一个用处: 做数据传输,具备一定的格式
        a.数据的可读性
        b.将来的扩展
        c.将来的维护
        XML现在已经是业内传输数据的标准,它和开发语言无关。

    第二个用处:配置文件,之前使用的.properties资源文件中描述的信息不丰富,无法描述层次复杂的数据
       
    第三个用处: 保存数据,充当小型的数据库
        保存数据一般是使用数据库保存,或者使用一般的文件保存,这个时候也可以选择XML文件,因为XML可以描述复杂的数据关系。从普通文件中读取数据的速度肯定是比从数据库中读取数据的速度快,只不过这样不是很安全而已

二 XML基本语法


1.文档声明
    XML文件的后缀为.xml;
    XML文本要求文件有一个头部声明(用来告诉解析器一些相关信息);
        <?xml version="1.0" encoding="UTF-8"?>
        头部声明是给解析器看的,表明当前文件是xml文件,XML版本为1.0,文件内容使用的字符编码为UTF-8。
    注意:要小心在系统中这个xml文件保存时候的编码,是否和文件内容中设置的编码一致;
        头部声明可以省略,如果不写,会默认加上<?xml version="1.0"?>。
    
    注意:
        XML语法很严格,只要有问题,浏览器就无法正常显示;
        如果文件的保存格式不对,无法显示;
        如果文件格式上有任何问题,也无法显示。
        
    
2.元素
    2.1.根元素

  • 每个XML文档必须有且只有一个根元素;
  • 根元素是一个完全包括文档中其他所有元素的元素;
  • 根元素的起始标记要放在所有其他元素的起始标记之前;
  • 根元素的结束标记要放在所有其他元素的结束标记之后。

    
    2.2标签
        xml文件中的标记也可以叫标签、元素、节点。
        XML元素指XML文件中出现的标签,一个标签分为开始标签和结束标签,一个标签有如下几种书写形式;
        例如:
            包含标签体:<a>www.baidu.com</a>
            不含标签体的:<a></a>, 可以简写为:<a/>
            一个标签中也可以嵌套若干子标签,但所有标签必须合理的嵌套,
                例如:<a>你好!<b>程序员</b></a>;
            但绝对不允许交叉嵌套。
                例如:<a>你好!<b>程序员</a></b> 
    
    2.3 标签内容
        对于XML标签中出现的所有空格和换行,XML解析程序都会当作标签内容进行处理。
        例如:下面两段内容的意义是不一样的(解析阶段才关心)。
            <name>tom</name>

            <name>
                tom
            </name>
        由于在XML中,空格和换行都作为原始内容被处理,所以,在编写XML文件时,要特别注意。但是在一些封装好的解析方式中,是可以忽略掉这些空格和换行的。(例如在一些第三方提供的jar包中)
    
    2.4 元素命名规则
        一个XML元素可以包含字母、数字以及其它一些可见字符,但必须遵守下面的一些规范:
            a. 区分大小写,例如,<P>和<p>是两个不同的标记。
            b. 不能以数字开头.
            c. 不能包含空格。
        注意,XML语法十分严格,以上提到的点,任何一点出问题都不能在浏览器中正常显示。

3.属性 
    属性出现在 起始标签内部,和标签名用空格隔开。
    它的基本格式为:
        <元素名 属性名1="属性值" 属性名2="属性值" ...>
    
    注意: 
        a. 一个元素可以有多个属性;
        b. 属性值用双引号(")或单引号(')括起来;
        c. 特定的属性名称在同一个元素标记中只能出现一次;
        b. 属性值不能包括<, >, &等特殊字符。
        
    例如:
        <student id="100">
            <name>TOM</name>
        </student>

4.实体 ENTITY
    xml文件中有些特殊的字符是不能直接表示出来的,例如:大于号,小于号,单引号、双引号等等,为了表示它们,我们可以借助实体完成。
    实体可以分为两类:预定义实体、自定义实体。
    
    a.预定义字符实体,由XML规范预先定义好了
        &lt;             <
        &gt;            >
        &amp;        &
        &quot;        "
        &apos;        '
        注意:使用实体的格式是 &实体名字;
    
    b.自定义实体 ENTITY
    定义格式:
        <!DOCTYPE 根元素名称[     //其他字符串也可以,并不必须是根元素名称
            <!ENTITY 实体名1 "实体内容">
            <!ENTITY 实体名2 "实体内容">
            ...
        ]>

    eg:
        <!DOCTYPE courses[
            <!ENTITY company "软件科技有限公司">
        ]>
          
    其中:company为实体名称,软件科技有限公司"是实体内容;
    实体的使用  &company;       
          
      
        
4.注释
    <!-- 这是一个注释 -->
    注意:
        a. 注释内容中不要出现--;
        b. 不要把注释放在标记内部;
            <Name <!-- the name -->>TOM</Name> 是不合适的
        c. 注释不能嵌套;
        d. 可以在除标记以外的任何地方放注释;

5.PCDATA,CDATA
    在XML文件内部,有两部分数据组成:可以解析的,不能解析的

  • PCDATA 可以解析的
  • CDATA 不需要|不可以解析的

        
    PCDATA (Parsed Character Data) 会被xml文档解析器解析的,但是有些特殊字符需要借助实体才可以被解析器解析,XML文件中的正常内容基本都是PCDATA。

    CDATA (Character Data) 不会被xml文档解析器解析的,按字符串原样输出。
    有些内容,例如< > &不想让解析,按照内容原样输出就可以了,这种情况可以使用CDATA。
    格式:
        <![CDATA[需要原样输出的字符串]]>
        
    例如:     <![CDATA[<<<<]]>      
            <test><![CDATA[&&&]]></test>
          
        使用这个东西,我们可以保存二进制文件(图片)。
        后期myBatic里面用xml存放sql语句,里面包含很多特殊字符,也要用到CDATA。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值