xml基礎知識

XML 被設計用來傳輸和存儲數據。

HTML 被設計用來顯示數據。

XML 也可擁有屬性(名稱/值的對)。XML 的屬性值須加引號,不過單引號和雙引號均可使用。

沒有什麼規矩可以告訴我們什麼時候該使用屬性,而什麼時候該使用子元素。我的經驗是在 HTML 中,屬性用起來很便利,但是在 XML 中,您應該儘量避免使用屬性。如果信息感覺起來很像數據,那麼請使用子元素吧。



XML文件實例

上圖表示下面的 XML 中的一本書:

<?xml version="1.0"encoding="UTF-8"?>

<bookstore>

<book category="COOKING">

 <title lang="en">Everyday Italian</title>

 <author>Giada De Laurentiis</author>

 <year>2005</year>

 <price>30.00</price>

</book>

<book category="CHILDREN">

 <title lang="en">Harry Potter</title>

 <author>J K. Rowling</author>

 <year>2005</year>

 <price>29.99</price>

</book>

<book category="WEB">

 <title lang="en">Learning XML</title>

 <author>Erik T. Ray</author>

 <year>2003</year>

 <price>39.95</price>

</book>

</bookstore>

例子中的根元素是 <bookstore>。文檔中的所有 <book> 元素都被包含在 <bookstore> 中。

<book> 元素有 4 個子元素:<title>、< author>、<year>、<price>。

 

實體引用

在 XML 中,一些字符擁有特殊的意義。

如果你把字符 "<" 放在 XML 元素中,會發生錯誤,這是因爲解析器會把它當作新元素的開始。

這樣會產生 XML 錯誤:

<message>if salary < 1000then</message>

爲了避免這個錯誤,請用實體引用來代替 "<" 字符:

<message>if salary &lt; 1000 then</message>

在 XML 中,有 5 個預定義的實體引用:

&lt;

小於

&gt;

大於

&amp;

&

和號

&apos;

'

單引號

&quot;

"

引號

註釋:在 XML 中,只有字符 "<" 和 "&" 確實是非法的。大於號是合法的,但是用實體引用來代替它是一個好習慣。

XML 中的註釋

在 XML 中編寫註釋的語法與 HTML 的語法很相似:

<!This is a comment>

 

避免 XML 屬性?

因使用屬性而引起的一些問題:

  • 屬性無法包含多重的值(元素可以)
  • 屬性無法描述樹結構(元素可以)
  • 屬性不易擴展(爲未來的變化)
  • 屬性難以閱讀和維護

請儘量使用元素來描述數據。而僅僅使用屬性來提供與數據無關的信息。

不要做這樣的蠢事(這不是 XML 應該被使用的方式):

<note day="08" month="08" year="2008"
to="George" from="John" heading="Reminder" 
body="Don't forget the meeting!">
</note>

 

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