XML語法小結

XML語法小總結

1.XML文檔必須包含根元素。

上一篇的例子中

<?xml version="1.0" encoding="UTF-8"?>
<note>
  <to>Tove</to>
  <from>Jani</from>
  <heading>Reminder</heading>
  <body>Don't forget me this weekend!</body>
</note>

note是根元素,除聲明外,最外層的開啓標籤標識的元素是根元素。

2.所有XML元素必須有一個關閉標籤

每一個元素都必須有一個對應的關閉標籤

    <note>This is a note.//1
    <content>balabalabala</content>//2
    //3

上述的例子是錯誤的,需要在第三行加上note的關閉標籤

3.XML標籤對大小寫敏感

<test>this is a test</test>
<Test>this is a test</Test>

上述兩個元素雖然字面意思都是test,但XML認爲是兩個元素。一對開啓標籤和關閉標籤的元素名字需要相同纔是時合法的語法。

4.XML需要正確嵌套

因爲XML是以樹結構來組織元素的,所以嵌套的順序必須符合一開一閉不能嵌套其他的元素的開或閉。

如下面的例子
是不允許出現的

<out>
<in>
this is a test
</out>
</in>

必須符合下面的格式

<out>
<in>
this is a test
</in>
</out>


引用網上的原話:正確嵌套的意思是在內打開,必須要在內關閉。

5.XML的屬性值必須加引號(單引號或雙引號都可)

下面的例子是錯誤的

<learn_note date=12/5/2017>
<target>
learn xml
</target>
</learn_note>

下面的例子是正確的

<learn_note date="12/5/2017">
<target>
learn xml
</target>
</learn_note>

所有元素實例的屬性都需要是字符串類型,比如在本文出現的標紅字體,使用瞭如下的標籤,屬性顏色用字符串類型的RGB值來設定。

<font color="#ff00">在裏面的文字將會被渲染成紅色</font>

效果如下:
在裏面的文字將會被渲染成紅色

6.XML中的特殊轉義字符

在XML中有一些字符有特殊的含義,其含義會和默認的一些語法起衝突,比如:< 解析器會認爲這是一個新元素的開始。爲了解決這個爲,維護XML的人設計了 實體引用來代替這些字符。
XML中的實體引用有5個。其中”<” 號和”&”號是必須使用實體引用外,其他三個符號不是必須的,但最好使用實體引用來代替,特別是”>”.

實體引用標識 被替換符號 語義
&lt ; < 小於號
&gt ; > 大於號
&amp ; & 邏輯與
&apos ; 單引號
&quot ; 雙引號

7.XML中的註釋

語法

<!--這裏填註釋內容-->

8.XML命名規則

XML的元素命名規則
* 名稱可以包含字母,數字,字符
* 名稱不能以數字或者標點符號開始
* 名稱不能以xml字樣開始,無論大小寫,只要是xml這三個字母,都不可以。
* 名稱不能包含空格

8.1命名習慣
兩個以上單詞組成的名稱應以下劃線在分割單詞,以提高閱讀性
如:`bookname ----> <book_name>`

如果是”-“,”.”,”:”這三種字符的話,可能會在某些軟件中出現誤識別,執行別的語義操作。

9.XML的屬性和元素的區別和使用建議

引用上面的例子

<learn_note date="12/5/2017">
<target>
learn xml
</target>
</learn_note>

<learn_note >
<date>
12/5/2017
</date>
<target>
learn xml
</target>
</learn_note>

例子①中的屬性date和②中的元素date都表達了相同的信息,其實這兩者在數據存儲上沒什麼區別。
但是呢,如果date的數據是在使用者角度來看應該是一個數據文檔中的數據,而不是一個對該數據文檔中的某個數據標籤的一個描述,建議擴展date,使之成爲一個元素,這樣子在數據的表達上更符合規範,且方便處理。
引用網上的理念:元數據(有關數據的數據)應當存儲爲屬性,而數據本身應當存儲爲元素。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章