XML(一):XML文檔結(jié)構(gòu)

一、XML簡介

XMl,EXtensible Markup Language,可擴展標記語言。標記,類似于標簽,一般這樣標示:<Student>;可擴展:可以隨意地往里面添加自己的標簽。

特點:1、XML與造作系統(tǒng)、編程語言的開發(fā)平臺都無關(guān)。2、規(guī)范統(tǒng)一。

作用:數(shù)據(jù)交換、配置應用程序和網(wǎng)站、Ajax基石。

二、XML文檔結(jié)構(gòu)

1、聲明

聲明:說明本XML文檔符合XML的哪個版本規(guī)范,并且說明本文檔的編碼格式。對于任何一個XML文檔,其聲明部分都是固定的格式。如下:

<?xmlversion="1.0" encoding="UTF-8">

2、標簽

在XML中,用<>括起來的各種標簽(Tag)來標記數(shù)據(jù),標簽需成對使用來界定字符數(shù)據(jù),例如<author>王珊</author>這一對標簽中,<author>是開始標簽,</author>是結(jié)束標簽,“王珊”是標簽描述的內(nèi)容,表示作者信息。XML文件可以包含任意數(shù)量的標簽。

3、根元素

<books> </books>成對出現(xiàn),叫做XML文檔的根元素。每個XML文件的根元素有且只有一個。
根元素的特點如下:
1、根元素是一個完全包括文檔中其他所有元素的元素。
2、根元素的起始標簽要放在所有其他元素的起始標簽之前。
3、根元素的結(jié)束標簽要放在所有其他元素的結(jié)束標簽之后。

<?xmlversion="1.0" encoding="UTF-8">
<books>
    <!--圖書信息-->  注釋
   <book id = "bk101">
        <author>王珊</author>
        <title>.NET高級編程</title>
        <description>包含C#框架和網(wǎng)絡編程等  </description>
   </book>

   <book id = "bk102">
        <author>張三</author>
        <title>基礎(chǔ)編程</title>
        <description>包含XML基礎(chǔ)概念和基本作用</description>
   </book>
</books>

4、元素

XML文檔的主要部分是元素,元素由開始標簽、元素內(nèi)容和結(jié)束標簽組成。元素內(nèi)容可以包含子元素、字符數(shù)據(jù)等。如<author>王珊</author>就是一個元素。

元素的命名規(guī)則如下:

  • 名稱中可以包含字符、數(shù)字或者其他字符。
  • 名稱不能以數(shù)字或者標點符號開始。
  • 名稱不能以字符xml(或者XML、Xml)開始。
  • 名稱中不能包含空格。

注:1、XML標簽必須成對出現(xiàn)并正確嵌套,如下面的嵌套方式是不正確的。<title><name>XML編程</title></name>
2、元素允許是空元素,如以下元素的寫法是允許的:<name> </name>或者<name/>
3、 屬性值用雙引號包裹

5、屬性

在描述圖書信息的XML文檔中,<book id = "bk101">標簽使用id屬性描述圖書的編號信息。屬性定義的語法格式如下:<元素名 屬性名 = "屬性值">。

注:1、一個元素可以有多個屬性,它的基本格式為<元素名 屬性名 = "屬性值" 屬性名 = "屬性值"/>多個屬性之間用空格隔開。
2、屬性值不能直接包含< “ &(不建議: ‘ >)等字符
3、屬性可以加在任何一個元素的起始標簽上,但不能加在結(jié)束標簽上。

6、XML中的特殊字符的處理

在XML中,有時在元素的文本中會出現(xiàn)一些特殊字符(如<、>、'、"、&),而XML文檔結(jié)構(gòu)本身就用到了這幾個特殊字符,有以下兩種辦法,可以正確地解析包含特殊字符的內(nèi)容。

1、轉(zhuǎn)義

對這5個特殊字符進行轉(zhuǎn)義,也就是使用XML文檔中的預定義實體代替這些字符,XML中的預定義實體和特殊字符的對應關(guān)系如下:

在后面要記得加分號
符號             轉(zhuǎn)義符(預定義實體)
<                      &lt;(less than)
>                      &gt;
"                      &quot;
'                      &apos;
&                      &amp;

如:
<student id="&lt;s1">解析為<student id="<s1">
如:<test>我們上面的標簽包含&lt;student&gt;&lt;/student&gt;</test>解析為
<test>我們上面的標簽包含<student></student></test>
但是這種方式太麻煩,可讀性差。只需告訴瀏覽器我這是一個普通的文本,不是標簽,那怎么去做呢?

2、CDATA節(jié)

當元素中出現(xiàn)很多特殊字符時,可以使用CDATA節(jié)。CDATA節(jié)中的所有字符都會被當做元素字符數(shù)據(jù)的常量部分,而不是XML標簽。定義CDATA節(jié)的語法格式如下:

   <![CDATA[要顯示的字符]]>

<description>
       <![CDATA[講解了元素<title>以及</title>的使用]]>
</description>

7、XML中的注釋

注釋的語法格式如下:

<!--注釋內(nèi)容-->

8、格式良好的XML文檔

格式良好的XML文檔需要遵循如下規(guī)則:

1、必須有XML聲明語句
2、必須有且僅有一個根元素
3、標簽大小寫敏感
4、屬性值用雙引號包含起來
5、標簽成對出現(xiàn)
6、元素正確嵌套

三、XML編寫注意事項

1、所有XML元素都必須有結(jié)束標簽
2、XML標簽對大小寫很敏感
3、XML必須正確的嵌套
4、同級標簽以縮進對齊
5、元素名稱可以包含字母、數(shù)字和其他的字符
6、元素名稱不能以數(shù)字或者標點符號開始比如<5name>就不行
7、元素名稱不能包含空格
在<student name>里面,系統(tǒng)會認為空格后面就是屬性了,不會認為這兩個是一體。

四、推薦命名習慣

1、見名知意
2、名字盡量比較簡短一點<book_title>
3、可以用下劃線,但是不要用中橫線、不要用點、也不要用冒號。如<book-title> <book.title><book:title>冒號在XML中有特殊的作用。
4、因為數(shù)據(jù)庫跟XML有很大的關(guān)系,所以一般數(shù)據(jù)可怎么命名,XML文件就怎么命名,這兩個平著來就可以了。

五、XML中的命名空間

命名空間在XML文檔中可以用作元素或?qū)傩悦Q的名稱集合,它們用來標示來自特定域(標準組織、公司、行業(yè))的名稱。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容