006_01XML简介

什么是XML?

  XML是指可扩展标记语言(eXtensible Markup Language),它是一种标记语言,很类似HTML。它被设计的宗旨是传输数据,而非显示数据。

  XML技术是W3C组织(World Wide Web Consortium万维网联盟)发布的,目前遵循的是W3C组织于2000年发布的XML1.0规范。

  XML标签没有被预定义,需要用户自行定义标签。

XML常见应用

  在Java开发中,传统的配置文件是*.properties属性文件(key=value),而XML表示的数据更为丰富。

  XML技术除用于描述有关系的数据外,还经常用作软件配置文件,以描述程序模块之间的关系。

XML文档的组成

  一个XML文件一般由以下几部分组成:

    1,文档声明

      在编写XML文档时,需要先使用文档声明来声明XML文档。且必须出现在文档的第一行。

      最简单的语法:<?xml version=“1.0”?>

      用encoding属性说明文档所使用的字符编码,默认为UTF-8。保存在磁盘上的文件编码要与声明的编码一致。 如:<?xml           version=“1.0” encoding=“GB2312”?>

      用standalone属性说明文档是否独立,即是否依赖其他文档。 如:<?xml version=“1.0” standalone=“yes”?>

    2,元素

      XML元素指XML文件中出现的标签。一个标签分为起始和结束标签(不能省略)。一个标签有如下几种书写形式:

        包含标签主体:<mytag>some content</mytag>

        不含标签主体:<mytag/>

      一个标签中可以嵌套若干子标签,但所有标签必须合理的嵌套,不允许有交叉嵌套。

        <mytag1><mytag2></mytag1></mytag2> WRONG

      一个XML文档必须有且仅有一个根标签,其他标签都是这个根标签的子标签或孙标签。

      XML中不会忽略主体内容中出现的空格和换行。

      元素(标签)的名称可以包含字母、数字、减号、下划线和英文句点,但必须遵守下面的一些规范:

        严格区分大小写;<P> <p> 只能以字母或下划线开头;

        abc _abc 不能以xml(或XML、Xml等)开头----W3C保留日后使用;

        名称字符之间不能有空格或制表符;

        ab 名称字符之间不能使用冒号; (有特殊用途)

    3,元素的属性

      一个元素可以有多个属性,每个属性都有它自己的名称和取值,例如:<mytag name=“value” …/>

      属性值一定要用引号(单引号或双引号)引起来。

      属性名称的命名规范与元素的命名规范相同

      元素中的属性是不允许重复的

    4,注释

      XML中的注释语法为:<!--这是注释-->

      注意: XML声明之前不能有注释 注释不能嵌套。

    5,CDATA区

      CDATA是Character Data的缩写

      作用:把标签当做普通文本内容;

      语法:<![CDATA[内容]]>

    6,特殊字符

      对于一些特殊字符,若要在元素主体内容中显示,必须进行转义。

      

    7,处理指令(PI:Processing Instruction)

        处理指令,简称PI(Processing Instruction)。

        作用:用来指挥软件如何解析XML文档。

        语法:必须以“<?”作为开头,以“?>”作为结尾。

        常用处理指令:

          XML声明:<?xml version=“1.0” encoding=“GB2312”?>

          xml-stylesheet指令:

            作用:指示XML文档所使用的CSS样式XSL。

            举例:<?xml-stylesheet type=“text/css” href=“some.css”?>

            注:对中文命名的标签元素不起作用

XML与HTML对比总结

  HTML中的标记是用来显示数据的,而XML中的标记用来描述数据的性质和结构。

  HTML是不区分大小写的,而XML是严格区分大小写的。

  HTML可以有多个根元素,而XML有且只能有一个根元素。

  HTML中,属性值的引号是可用可不用的,而XML中,属性值必须放在引号中。

  HTML中,空格是可用自动过滤的,而XML中,空格等部分则不会自动删除。

  HTML中的标记是预定义的,而XML中的标记是可以随便定义的,并且可扩展。

物随心转,境由心造,一切烦恼皆由心生。
原文地址:https://www.cnblogs.com/woodrow2015/p/4554907.html