XML语法: 一、文档声明 二、元素 三、属性 四、注释 五、CDATA区、特殊字符 六、处理指令(processing instruction)
一、文档声明(没有声明的xml文档成为格式不良好的xml文档) 在编写xml文档时,需要先使用文档声明,声明xml文档的类型。 最简单的声明语法: <?xml version="1.0"?> 用encoding属性说明文档的字符编码: <?xml version="1.0" encoding="GB2312"?>(如果有中文一定要声明) 用standalone属性说明文档的是否独立(ie不关注此属性) <?xml version="1.0" encoding="GB2312" standalone="yes"?>
二、元素 (element) xml元素指xml文件中出现的标签,一个标签分为开始标签和结束标签,一个标签如下几种书写形式, 例如: 包含标签体:<a>www.baidu.com</a> 不含标签体:<a></a> 简写:<a/> 一个标签中也可以嵌套若干子标签。但是所有标签必须合理嵌套,绝对不允许交叉嵌套,例如: <a>welcome to <b>www.baidu.com</a></b> 格式良好的xml文档必须有且仅有一个个标签,其他标签都是这个跟标签的子孙标签。 对于xml标签中出现的所有空格和换行,xml解析程序都会当做标签内容进行处理。例如:下面两段内容的意义是不一样的。 第一段: 第二段: <网址>www.baidu.com<网址> <网址> www.baidu.com <网址> 由于在xml中,空格和换行都作为原始内容被处理,所以, 在编写xml时,使用换行和缩进等方式来让源文件中的内容 清晰可读的"良好"书写习惯可能被迫改变。
一个xml元素可以包含字母、数字以及其他一些可见字符,但必须遵循下面的一些规范: (1)区分大小写,例如:<P>和<p>是两个不同的标记 (2)不能以数字和"_"(下划线)开头。 (3)不能以xml(或XML、或Xml等)开头。 (4)不能包含空格 (5)名称中间不能包含冒号(:)。 三、属性 一个标签可以有多个属性,每个属性都有他自己的名称和取值,例如: <input name="text"> 属性值一定要用双引号("")或是单引号(')引起来 定义属性必须遵循与标签相同的命名规范 多学一招: 在xml技术中,标签属性所代表的信息,也可以被改成用子元素的形式来描述,例如 <input> <name>text</name> </input>
四、注释 Xml文件中的注释采用<!-- 注释 --> 注意: xml声明之前不能有注释 注释不能嵌套,例如: <!-- 大段注释 …… <!--局部注释 --> …… --> 五.1、CDATA区 (1)在编写xml文件时,有些内容可能不想让解析引擎解析执行 ,而是当做原始内容处理。 (2)遇到此种情况,可以把这些内容放在CDATA区里, 对于CDATA区域内的内容,xml解析程序不会处理, 而是直接原封不动的输出。 (3)语法: <![CDATA[内容]]> <![CDATA[ <nihao> <br> </nihao> ]]>
五.2、转义字符 对于一些单个字符,若想显示其原始样式,也可以使用转义字符形予以处理。 特殊字符 替代符号 & & < < > > " " ' '
六、处理指令(processing instruction) 简称PI(processing instruction)。处理指令用来指挥解析引擎如何解析xml文档内容。
例如:在xml文档中可以使用xml-stylessheet指定, 通知xml解析引擎,应用css文件显示xml文档内容。 <?xml-stylesheet type="text/css" href="1.css"?>
处理指定必须以<?作为开头,以?>作为结尾, xml声明语句就是最常见的一种处理指令。
注:使用IE打开xml文档可以使用检测格式是否正常 常见错误: 1.全角符号(比如全角空格)
乱码:
问题:用记事本保存<?xml version="1.0" encoding="UTF-8"?>的xml文档, 用IE打开出现乱码问题。 分析:记事本保存时是按照系统默认的编码方式保存的,中文xp为gb2312,IE按照文档声明的UTF-8打开时出现乱码。 解决: 1.将xml文档说明改成<?xml version="1.0" encoding="GB2312"?> 2.记事本保存时,选择"另存为"指定特殊码表utf-8 3.使用Eclipse随意修改xml的编码方式,不会出现乱码问题,因为它会自动识别编码,保存文件。 (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|