XML详解一XML语法
xml指可扩展标记语言很类似 html,被设计用来传输和存储数据而非显示数据,xml标签没有被预定义需要自行定义标签,标签具有自我描述性,同时xml也是 w3c 的推荐标准。
先来写一个xml脚本demo.xml:
<?xml version="1.0" encoding="utf-8"?> <!-- 版本1.0 编码utf-8 --> <book > <title>xml</title> <description>xml可扩展标记语言</description> <year>1998</year> <price>30.00</price> </book>
在浏览器运行demo.xml:
1.如上图就是一个xml文件,xml是纯文本的,标签不像html是预定义标签,需要自行定义如:<note></note>、<标签></标签>、<qwer></qwer>,注意:xml的根标签(最外层标签)有且只能有一对!也就是上面代码的<book></book>标签
2.xml的标签可以是中文,也可以是字母,对大小写敏感推荐小写,这里需要注意一下的是xml的语法严格,标签必须成对出现即有开始又有结束,比如<title>xml 如果没有闭合标签就会报错:
也有一种特殊的情况就是自闭和标签,如:
<?xml version="1.0" encoding="utf-8"?> <!-- 版本1.0 编码utf-8 --> <book > <title>xml</title> <description>xml可扩展标记语言</description> <year>1998</year> <price>30.00</price> <a /> <!-- 自闭和标签,浏览器可以正常解析--> </book>
3.xml标签可以嵌套但是不能交叉嵌套:
<?xml version="1.0" encoding="utf-8"?> <!-- 正确嵌套 --> <book > <title> <description>xml可扩展标记语言</description> </title> </book> <!-- 错误嵌套 --> <?xml version="1.0" encoding="utf-8"?> <book > <title><description></title> xml可扩展标记语言</description> </book>
4.xml标签也可以拥有属性,属性必须有值并加引号:
<?xml version="1.0" encoding="utf-8"?> <book > <!-- 属性名自定义,必须有值并加引号,推荐使用小写 --> <title book_id="1">xml</title> <description>xml可扩展标记语言</description> <year>1998</year> <price>30.00</price> </book>
5.xml中实体引用:
< | < | 小于 |
> | > | 大于 |
& | & | 和号 |
' | ' | 单引号 |
" | " | 引号 |
在xml中如果你把字符 <放在 xml 元素中会发生错误,如:<description>5 < 10</description>,这是因为解析器会把<当作新元素的开始,为了避免这种错误就需要使用实体引用:
<?xml version="1.0" encoding="utf-8"?> <book> <title>xml</title> <description>5 < 10</description> </book>
在 xml 中只有字符 < 和 &"确实是非法的,但是用实体引用来代替它是一个好习惯
6.xml cdata
如果一大段内容包含字母数字汉字特殊符号等等,为了可以正常解析此时只使用实体引用并不现实,就需要用到<![cdata[]]>:
<?xml version="1.0" encoding="utf-8"?> <book> <title>xml</title> <content><![cdata[一大段内容包含123qwer&<<<*;/]]></content> </book>
这样在上面的代码中,解析器会忽略 cdata 部分中的所有内容而直接原模原样显示
注意注意注意:在 xml中换行会被保存视为一个节点,所以正常的xml文件都是一行搞定:
<?xml version="1.0" encoding="utf-8"?> <bookstore><book book_id="1"><title>php</title><author><![cdata[php是世界上最好的编程语言.emmm...]]></author></book></bookstore>
上一篇: 第十四天-内置函数