• XML基本语法


    本节要点:

    • 了解XML的文档声明
    • 了解XML的元素、命名规则、属性、元素内容、处理指令等概念

    1   XML文档声明

    表示该文档是一个XML文档,以及遵循哪个XML版本的规范。

    规范:<?xml 版本信息(编码信息)(文档独立性信息)?>

    文档声明在XML文件中是可选的第一项,推荐在每个XML文档中都包含文档声明。如果在XML文件中写出了声明就必须包含version属性,表示XML的版本,截止目前XML只有一个版本,即1.0。在XML声明之前不许有任何内容,包括空格。

    示例:<?xml version=“1.0” encoding=”UTF-8” standalone=”no”?>

    文档声明属性:

    encoding属性(可选的):注明XML文档使用的字符编码方式。采用Unicode编码时可以在XML文档声明中省略字符集编码,当XML文档使用非Unicode编码时,必须在XML文档声明中指定其字符集编码

    如:< ?xml version=“1.0” encoding=”gb2312”?>

    standalone属性(可选的):说明文档是否是独立的,yes(缺省)——该文档没有依赖外面的任何文件而可以独立存在,no——该文档依赖于外面的某个文件

             如果同时设置了encoding和standalone属性,standalone属性要位于encoding属性之后。

    2   元素

    XML的基本组成单位是元素,元素由标记来定义,标记包括起始标记<>和结束标记</>,属性要写在起始标记内。在XML中,所有元素必须有结束标记。

    语法样式:

             <元素名 属性名=“属性值”>

                       元素内容

    </元素名>

    1)   元素内容

    可以是其他元素标记、简单的文本、没有任何信息、其他元素标记和文本内容混合等。

    嵌套

    在一个元素中可以嵌套若干个子元素,如下:

     

    XML标记不能交叉,如下:

     

    2)   元素关系

    在XML中,各元素之间是相互关联的。包含在另一个元素中的元素称为子元素,包含子元素的元素称为父元素。嵌套子元素必须完整地包含在它的父元素中

    3)   根元素

    根元素指没有被嵌套在其他元素内的元素,最高层元素,仅一个。XML文档中所有元素都是根元素的子孙元素。

     

    4)   空元素

    不包含任何内容的元素。

     

    3   命名规则

    在XML中,可以使用自己需要的元素来扩展标记语言。

    命名基本规则:

    • 元素名称不能以数字或特殊字符开头
    • 可以包含字母,数字,下划线等
    • 不能以字符串“XML”作为开头
    • 不能包含空格
    • 尽量不要包含特殊字符
    • 区分大小写

    判断对错,如:

     

    区分大小写:

     

    流行的命名规则:

    • 元素名称尽量简短
    • 大小写尽量采用同一标准
      •   完全用小写字母来书写名称,当名称中包含多个单词时,相互之间用下划线隔开
      •   将每个单词的首字母大写,不使用分隔符
    • 可以使用非英文字符
      •   推荐使用英文字符+数字来命

    4   元素属性

    元素属性是用来对元素做进一步说明的:

     

    在XML中,属性值一定要用双引号或者单引号引起来,否则将被视为错误,推荐先使用双引号。属性区分大小写。

     

    属性也可以被改为使用子元素来描述,但是推荐使用子元素描述数据。

     

    属性不能包含多个值。

    5   CDATA & PCDATA

    5.1 CDATA

    术语 CDATA 指的是不应由 XML 解析器进行解析的文本数据(Unparsed Character Data)。

    在 XML 元素中,"<" 和 "&" 是非法的。

    "<" 会产生错误,因为解析器会把该字符解释为新元素的开始。

    "&" 也会产生错误,因为解析器会把该字符解释为字符实体的开始。

    某些文本,比如 JavaScript 代码,包含大量 "<" 或 "&" 字符。为了避免错误,可以将脚本代码定义为 CDATA。

    CDATA 部分中的所有内容都会被解析器忽略。

    CDATA 部分由 "<![CDATA[" 开始,由 "]]>" 结束,可以在CDATA区嵌入其它语言的代码。

    示例:

    <?xml version="1.0" encoding="utf-8" ?>  

    <people>  

    <![CDATA[   <!--  !和[之间不要有空白 --> 

        <teacher> 

        <name>yeah</name> 

        <sex>Boy</sex> 

        <age>22</age> 

        <add>&address;</add>     

    </techer> 

    ]]>  

    </people>  

    5.2  PCDATA

    PCDATA指的是由XML解析器解析的内容,当作一般的文字资料来解读。

    PCDATA区是指:

    • 直接写在元素的起始标记和结尾标记之间的内容
    • 由XML解析器解析的内容,当作一般的文字资料来解读
    • XML解析程序会将空格和换行如实地交给下游程序去处理

    有些字符不能直接写在pcdata区,如<、&等。

    6   注释

    注释的内容会被程序忽略而不做解释和处理。

    注:不要把注释放在XML的声明之前;注释不能嵌套使用。

     

    7   处理指令

    为处理XML文档的应用程序提供提示信息

    处理指令格式:

    <?处理指令名 处理指令信息?>

    <?xml-stylesheet type=“text/css” href=“book.css”?>

    XML解析器会把处理指令原封不动地传送给应用程序,由应用程序来解释这个指令,按照它所提供的信息进行处理。

  • 相关阅读:
    第五:Nutanix的Prism管理手册
    第四:Nutanix的开关机步骤
    Exchange2016DR(异地容灾)环境:重要
    博客的开始
    sql查询日期型内容+oracle
    expdp导出oracle数据库中指定表空间下数据
    oracle 锁表的解决sql语句(pl/sql 删除表中数据锁表)
    centos 关闭防火墙+开启ssh服务
    显示桌面 我的电脑
    查看电脑连接过的wifi—通过命令行
  • 原文地址:https://www.cnblogs.com/zhouyeqin/p/7418971.html
Copyright © 2020-2023  润新知