码迷,mamicode.com
首页 > 其他好文 > 详细

XML详解一XML语法

时间:2018-11-03 12:28:06      阅读:106      评论:0      收藏:0      [点我收藏+]

标签:encoding   ...   好的   rip   编程   pos   des   cdata   版本   

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中实体引用:

&lt; < 小于
&gt; > 大于
&amp; & 和号
&apos; 单引号
&quot; " 引号

 

 

 

 

 

 

 在XML中如果你把字符 <放在 XML 元素中会发生错误,如:<description>5 < 10</description>,这是因为解析器会把<当作新元素的开始,为了避免这种错误就需要使用实体引用:

<?xml version="1.0" encoding="UTF-8"?> 
<book>
  <title>xml</title> 
  <description>5 &lt; 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>

XML详解一XML语法

标签:encoding   ...   好的   rip   编程   pos   des   cdata   版本   

原文地址:https://www.cnblogs.com/52lnamp/p/9816102.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!