XML基础学习
一:xml文档声明.
最简单的声明语法: <?xml version="1.0" ?> 注意,开始的<?xml和结尾的?>中不能有空格,中间的各个属性间采用空格隔开。
可以用encoding属性说明文档的字符编码(默认为UTF-8或UTF-16): <?xml version="1.0" encoding="gb2312" ?>
可以用standalone属性说明文档是否独立: <?xml version="1.0" encoding="gb2312" standalone="yes" ?>
二:xml元素的标记命名规范.
可以包含字母、数字以及其他一些可见字符,但必须遵循下面的一些规范:
1.区分大小写,例如<P>和<p>是不同的标记;
2.不能以数字或"_"开头;
3.不能以字符组合xml(或XML、或Xml等)开头;
4.不能包含空格
5.名称中间不能包含冒号":"
元素的标记名称建议:
1.不要使用".",因为在很多程序语言中,"."用于饮用对象的属性;
2.最好不要用减号(-),而以(_)代替,以避免与表达式中的减号(-)运算符发生冲突;
3.名称尽量简短,以减少XML文档的大小;
4.名称的大小写尽量采用统一标准,要么全部大写,要么全部小写;
5.名称可以使用非英文字符,例如中文,但是有些软件可能不支持非英文字符以外的字符,在使用时英考虑这种情况。
三:xml标签属性定义.
1.一个标签可以有多个属性,每个属性都有它自己的名称和取值,例如:
<price unit="yuan"></price>
2.属性值一定要用双引号("")或单引号('')引起来;
3.属性遵循与标签相同的命名规范;
4.属性可以被改成子元素来描述同样的信息,例如:
<售价>
<单位>元</售价>
<价格>58</价格>
</售价>
四:xml注释.
1.xml文档中用 <!-- 注释 --> 这种格式加入注释;
2.xml文档声明之前不能有注释; 即 <?xml version="1.0" ?>前绝对不能有注释
3.一对注释符号之中不能包含另一对注释符号; !!!tomcat配置文件中写中文注释出现的问题。
在tomcat的配置文件中,例如server.xml中,写入中文注释 tomcat就无法成功启动,只有在server.xml的第一行加入编码设置 <?xml version="1.0" encoding="gb2312" ?> 才能成功启动,这是一位xml默认的编码是UTF-8或者UTF-16 无法解析中文,xml文档解析出错导致tomcat无法启动。这说明读取xml内容时,注释内容也会读取,但是读取后会将其忽略。
五:空格和换行的处理.
对于XML中的标签以外的所有空格和,XML解析程序都要一个个如实地交给下游程序区处理。
例如下面的两段内容是不一样的:
第一段:<网址>www.it315.org</网址>
第二段: <网址>
www.it315.org
</网址>
由于在XML中,空格和换行都作为原始内容被处理,所以,在编写XML文件时,使用换行和缩进的方式来让原文件中的内容清晰可读的"良好"书写习惯可能要被迫改变。
六:xml文档的 CDATA区.
1.问题:XML文档中包含类似"Elements look like <this>"的文本,其中的"<this>"将被解析程序解释成一个元素,而认识实际想要的是"<this>"所表示的原意文本。
2.CDATA区全称为character data , 以"<![CDATA[" 开始,以"]]>"结束,在两者之间嵌入不想被解析程序解析的原始数据,解析器不对CDATA区中的内容进行解析,而是将这些数据原封不动地交给下游程序去处理。 例如我们要在xml文档中写javascript代码时用CDATA区就能很好解决。
3.CDATA区中的起始和结束处有没有空格和换行字符是有区别的,例子同上面xml
标记中的内容一样。
4."<![CDATA["不能写成"<![cdata[" 或其他的, 是区分大小写的。
5.CDATA区内部不能出现字符串"]]>",因为这样表示CDATA区的结束 ,如果要出现,只能使用转义字符。
七:xml中的特殊字符.
xml中用到的特殊字符的替代符号:
& 的替代符号 &
< 的替代符号 <
> 的替代符号 >
" 的替代符号 "
' 的替代符号 '
八:xml的处理指令.
1.处理指令是processing instruction的中文翻译,通常简称PI,用来为处理XML文档的应用程序提供知识信息。
2.处理指令以"<?"作为开头,以"?>"作为结尾,XML声明语句就是最常见的一种处理指令。
3.XML分析器把处理指令原封不动地传给应用程序,由应用程序来解释这个指令,按照它所提供的信息进行处理。例如,在某个文档中可以包含下面的语句来告诉浏览器使用book.css控制其显示效果:
<?xml-stylesheet type="text/css" href="book.css" ?>
XML基础学习
最新推荐文章于 2024-09-19 10:37:26 发布