XML

来源:互联网 发布:大数据分析工具有哪些 编辑:程序博客网 时间:2024/05/17 23:12

  XML 是可扩展标记语言(Extensible Markup Language)的缩写,其中的 标记(markup)是关键部分。您可以创建内容,然后使用限定标记标记它,从而使每个单词、短语或块成为可识别、可分类的信息。

 您创建的文件,或文档实例 由元素(标记)和内容构成。当从打印输出读取或以电子形式处理文档时,元素能够帮助更好地理解文档。元素的描述性越强,文档各部分越容易识别。自从出现标记至今,带有标记的内容就有一个优势,即在计算机系统缺失时,仍然可以通过标记理解打印出来数据。

  XML可分为以下几个部分

第一部分:文档声明

文档声明必须在XML文档的第一行,按照严格的XML语法,声明语句前面不应该有空行。

最简单的声明语句,version属性表示XML版本,是必须的

<?xml version="1.0" ?>

用encoding属性说明文档字符编码,不是必须的。当没有声明时,解析器默认以utf-8,或者utf-16对其解读。

  属性

<?xml version="1.0" encoding="GB2312" standalone="yes" ?>

关于encoding属性的设置:写包含中文内容的XML时,如若编码声明不当,会导致解析器无法正常解析。注意两点:(保证源文件编码与声明语句声明的编码要一致,encoding属性告诉解析器以特定的编码解析源文件)

编辑的源文件应该保存为utf-8,GBK,GB2312其中一个编码。
在XML声明中encoding属性值要和第一点中选择的编码相同。如果保存为utf-8,可以不用在XML声明中声明,解析器会自动解析。如果用GB2312,则在encoding属性的值一定要是GB2312。

第二部分:元素定义

示例

<?xml version="1.0" encoding="GB2312" ?>
<咸蛋超人>
<超人1>
<name>
烤地瓜
</name>
</超人1>
<超人2>
<name>
笨蛋
</name>
<id/>
<address></address>
</超人2>
</咸蛋超人>

XML中必须是双标签,标签可以自定义!!

注意:严格的XML语法规定必须有且只有一个根元素,即示例中的<咸蛋超人></咸蛋超人>
元素标记名称规范:可以包含字母,数字以及其它字符
区分大小写,<p/>和<P/>是不同标记
不能以数字或者下划线“_”开头
不能以字符组合xml,或者Xml,xMl,xmL,XMl,xML,XML(即xml的大小写任何组合)等开头。
不能包含空格,<书 名></书 名>是错误的。
不能包含冒号“:”
推荐的元素标记命名建议:
命名尽量简短,减少XML大小
慎重使用非英文字符,某些应用程序可能不支持非英文字符。
不要使用点号“.”,点号在很多程序语言中表示引用等特殊含义。
不要使用减号“-”,以下划线“_”代替,避免与表达式中的减号运算符冲突。

第三部分:注释

示例
Xml代码 收藏代码
<?xml version="1.0" encoding="UTF-8" ?>
<!-- 注释 -->
<书架>
<书>
<书名>好书</书名>
<作者>某人</作者>
</书>
</书架>

注释不能出现在XML声明之前。
一对注释符号之间不能包含另外一对注释符号,一下为错误的示例
Xml代码 收藏代码

第四部分:空格和换行处理

XML文件中的标签以外的所有空格和换行,XML解析程序会如实交给下游程序处理。如以下两个代码含义是不一样的。因此使用换行等方式来让源文件增强可读性的习惯要被迫改变。
Xml代码 收藏代码
<address>WorshintonDC.USA</address>
<!--这行标签括起来的值仅仅是WorshintonDC.USA这个字符串-->

Xml代码 收藏代码
<address>
WorshintonDC.USA
</address>
<!--包含一个回车符,一个制表符,字符串WorshintonDC.USA,一个回车符-->

第五部分:CDATA区

示例
Xml代码 收藏代码
<script>
<![CDATA[
for(var i = 0; i < 10; i ++) {

}
]]>
</script>

CDATA区(charater data的缩写)内的内容XML解析器不会对其进行解析,它会原封不动地交给下游程序处理。

第六部分:特殊字符的转义

特殊字符 转义符号
& &amp;
< &lt;
> &gt;
" &quot;
' &apos;

注意:如果需要表示像&amp这样一个字符,需要转义成&amp;amp

'' 和 ' 符号的转义一般用于属性值中,& 和 < 和 > 一般用于开始标签与结束标签之间的字符数据中。

字符数据可以是不包括任何标记的起始界定符和CDTA段定界符的任意字符串(即和号“&”和小于号“<”和 符号“]]>”),如:正确:<data>/</data>;错误:<data>&</data>;错误:<data>]]></data>

第七部分:处理指令(processing instruction,简称PI)

PI以“<?”开头,以“?>”结尾。
XML分析器吧处理指令原封不动传给应用程序,由应用程序来解析这个指令,遵照PI提供的信息要求进行处理。例如,在XML文档中,可以包含以下PI告诉浏览器使用book.css控制其显示效果
Xml代码 收藏代码
<?xml-stylesheet type="text/css" href="book.css"?>

示例:本示例通过在demo_PI.xml中设置PI语句引用dog.css控制demo_PI.xml文件在浏览器端的显示效果。

Demo_pi.xml代码 收藏代码

<?xml version="1.0" ?>
<?xml-stylesheet type="text/css" href="dog.css" ?>
<dog>
<name>BigYellow</name>
<owner>大傻</owner>
<breed>sinoGun</breed>
</dog>


注意:xml-stylesheet处理指令总是放在XML声明之后,第一个元素之前。其它指令可以放在除标记内部和XML声明之前的任何位置。“<?”与“xml-stylesheet”之间不能有空格。
















0 0