文章目錄
- 示例代碼
- 關于宣告陳述句部分
- 關于檔案內容部分
- 其他需要注意的地方
- 瀏覽器查看代碼
- XML檔案結構
示例代碼
首先給出示例代碼
<!-- filename test.xml-->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book SYSTEM "book.dtd">
<booklist>
<top>
<bookname>《悲慘世界》</bookname>
<bookauthor>雨果</bookauthor>
</top>
<top>
<bookname>《人間失格》</bookname>
<bookauthor>太宰治</bookauthor>
</top>
</booklist>
<!--filename book.dtd -->
<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT book(booklist,top*,bookname+,bookauthor+)>
<!ELEMENT booklist (#ANY)>
<!ELEMENT top (#ANY)>
<!ELEMENT bookname (#PCDATA)>
<!ELEMENT bookauthor (#PCDATA)>
關于宣告陳述句部分
在上述代碼中,<?xml version="1.0" encoding="UTF-8"?>是XML的一個宣告,表示檔案遵循的是XML1.0規范,
-
一個有效的XML檔案第一行必須進行宣告,
-
完整的宣告格式如下:
<?xml version="1.0" standalone="yes/no" encoding="UTF-8"?> -
其中
standalone="yes/no"定義了是否可以在不讀取其他檔案的情況下處理該檔案,例如,standalone="yes"表示XML沒有與其他任何檔案關聯,不寫表示默認,即standalone="no" -
其中
encoding="UTF-8"是檔案的編碼方式,其他編碼方式:簡體中文:encoding="GB2312,繁體中文:BIG5,
<DOCTYPE book SYSTEM "book.dtd">屬于檔案的序言部分,說明此檔案使用的是這個檔案來定義檔案型別的,瀏覽器默認使用Unicode編碼來決議,所以上述宣告在當下情況也可以簡單寫成<?xml version="1.0">,
在上述代碼中,<booklist>,<top>,<bookname>等這些tags是用戶自定義的,其中<booklist>是根元素,其他元素為子元素,其中最內層的是葉子元素,(XML是基于樹形結構的,所有的元素構成了一個簡單的層次樹,所以元素與元素之間唯一的直接關系就是父子關系),
關于檔案內容部分
- 關于元素命名:XML基本沒有什么保留字,我們幾乎可以用任何詞語來為元素名命,但是需要注意以下幾點:不能用數字或者標點符號開頭,不能以XML、xml、Xml…開頭,名字中不能有空格,避免使用“-”、“.”這些符號,盡量與資料庫中的元素名稱保持一致,
- XML中元素型別:空元素、僅含文本元素、含其他元素、混合元素,
例如:空元素:<book></book>或<book/>
僅含文本元素:<book>《悲慘世界》<book>
包含其他元素:<top><book>《悲慘世界》<book><top>,其中top是父級元素,book是子元素,
混合元素:<top>暢銷榜單<book>《悲慘世界》<book><top>,既包含文本元素也包含子元素,
XML的屬性部分
- 屬性可以提供元素的額外資訊,是對標識的進一步描述和說明,
- 每個屬性有自己的名稱和數值,屬性是標識的一部分,例如:
<author sex="man">雨果</author>. - 一個元素可以有多個屬性,
- 當元素包含屬性時,一般稱之為復合型別元素,
- 在XML應盡量避免使用屬性,使用屬性會引發如下許多問題:屬性不可以包含多個值、而子元素可以,屬性不容易擴展,屬性不能夠描述結構、而子元素可以,屬性很難被程式代碼處理,屬性很難通過DTD進行測驗,
其他需要注意的地方
- 注釋的寫法,
<!-- 在這里寫注釋資訊---> - 注意大小寫,在XML中,
<Book>,<BOOK>,<book>這是三種不同的標識, - 所有的XML檔案有且只有一個根元素,在上面test.xml檔案中,根元素為
<booklist>. - 屬性值必須加上引號,例如
<font color="red">,不能寫成<font color=red> - 空識別符號必須被關閉,有兩種寫法
第一種:<title/>(以/>結尾),
第二種:<title></title>
但是不可以寫成<title>,(這個沒有結束標識), - 處理空白字符的方式:
對于XML來說,決議器會忠實的交給應用程式來理解,所以決議器會保留內容中所有的空白字符并不加修改的傳遞給應用程式,但元素標記和屬性值中的空白會被洗掉,所以:
<author>雨果</author>
和
<author>
雨果
</author>
會不同的執行結果,
- 處理特殊字符的方式:
因為特殊字符已被XML檔案使用,所以想要顯示特殊字符需要被相應的符號來替代,
| 特殊字符 | 替換字符 |
|---|---|
| < | < |
| > | > |
| and(&) | & |
| 雙引號(") | " |
| 單引號(’) | &apos |
- 關于名命空間:
通過使用前綴,可以解決名命沖突問題,
代碼示例:
<fruit:table>
<fruit:tr>apple<fruit:tr>
<fruit:table>
<furniture:table>
<furniture:tr>HongMu<furniture:tr>
<furniture:table>
瀏覽器查看代碼
可以將代碼直接拖入瀏覽器中,或者在瀏覽器的地址欄中輸入本地檔案的位置資訊,即可顯示,
文首的test.xml檔案在chrome瀏覽器中的顯示效果如圖:

點擊左側的三角符號可以將代碼進行折疊隱藏,
XML檔案結構

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/99425.html
標籤:AI
上一篇:ffmpeg合并帶key的ts
