XML语法

一、XML文档的组成

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

  • 文档声明
  • 元素
  • 元素的属性
  • 注释
  • CDATA区
  • 特殊字符
  • 处理指令(PI:Processing Instruction)

二、文档声明

  • 在编写XML文档时,需要先使用文档声明来声明XML文档。且必须出现在文档的第一行
  • 最简单的语法:<?xml version="1.0"?>
  • encoding属性说明文档所使用的字符编码,默认为UTF-8保存在磁盘上的文件编码要与声明的编码一致。
  • 如:<?xml version="1.0" encoding="GB2312"?> 告诉浏览器用GB2312格式解析存储在磁盘上的xml文件。
  •  用standalone属性说明文档是否独立,即是否依赖其他文档。
  • 如<?xml version="1.0" standalone="yes"?>

三、元素

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

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

不含标签主体:<mytag/>

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

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

  • 一个XML文档必须有且仅有一个根标签,其他标签都是这个根标签的子标签或孙标签。
  • XML中不会忽略主体内容中出现的空格和换行。注:由于在XML中,空格和换行都作为原始内容被处理,所以,在编写XML文件时,使用换行和缩进等方式来让原文件中的内容清晰可读的“良好”书写习惯可能要被迫改变。
  • 元素命名规范:元素(标签)的名称可以包含字母、数字、减号、下划线和英文句点,但必须遵循下面的一些规范:

严格区分大小写:<P> <p>

只能以字母或下划线开头

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

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

名称字符之间不能使用冒号

四、元素的属性

  • 一个元素可以有多个属性,每个属性都有它自己的名称和取值,例如:<mytag name="value" .../>
  • 属性值一定要用引号(双引号或单引号)引起来
  • 属性名称的命名规范与元素的命名规范相同
  • 元素中的属性是不允许重复的
  • 在XML技术中,标签属性所代表的信息也可以被改成用子元素的形式来描述,例如:

<mytag>

          <name>

                       <firstName/>

                       <lastName/>

          </name>

</mytag>

五、注释

  • XML中的注释语法为:<!-- 这是注释 -->
  • 注意:1. XML声明之前不能有注释。2. 注释不能嵌套。

六、CDATA区

  • CDATA是Character Data的缩写
  • 作用:把标签当做普通文本内容
  • 语法:<![CDATA[内容]]>
  • 举例:<![CDATA[<student>www.student.com</student>]]> 红色部分被当做普通文本而不是标签

七、特殊字符

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

八、处理指令

  • 处理指令,简称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中的标记是可以随便定义的,并且可扩展。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值