XML:可擴展標記語言
- <b>XML與 HTML 的主要差異</b>
1.XML 不是HTML 的替代;
2.XML 和HTML 為不同的目的而設計:
3.XML 被設計為傳輸和存儲數據,其焦點是數據的內容。
4.HTML 被設計用來顯示數據,其焦點是數據的外觀。
5.HTML 旨在顯示信息,而XML 旨在傳輸信息。
- <b>XML 簡化數據共享</b>
在真實的世界中,計算機系統和數據使用不兼容的格式來存儲數據。
XML 數據以純文本格式進行存儲,因此提供了一種獨立于軟件和硬件的數據存儲方法。
這讓創建不同應用程序可以共享的數據變得更加容易。
- <b>XML 文檔形成一種樹結構</b>
XML 文檔必須包含 根元素 。該元素是所有其他元素的父元素。
所有元素均可擁有子元素:
<root>
<child>
<subchild>.....</subchild>
</child>
</root>
<b>所有XML 元素都須有關閉標簽</b>
<b>XML 標簽對大小寫敏感</b>
<b>XML的屬性值須加引號</b>
<b>屬性值必須被引號包圍,不過單引號和雙引號均可使用。</b>
如果屬性值本身包含雙引號,那么有必要使用單引號包圍它,就像這個例子:
<gangster name='George "Shotgun" Ziegler'>
- <b>實體引用</b>
在XML 中,一些字符擁有特殊的意義。
如果你把字符"<" 放在XML 元素中,會發生錯誤,這是因為解析器會把它當作新元素的開始。
這樣會產生XML 錯誤:
<message>if salary < 1000 then</message>
為了避免這個錯誤,請用實體引用來代替 "<" 字符:
<message>if salary < 1000 then</message>
在XML 中,有5 個預定義的實體引用:
< < 小于
> > 大于
& & 和號
' ' 單引號
" " 引號
注釋:在XML 中,只有字符"<" 和"&" 確實是非法的。大于號是合法的,但是用實體引用來代替它是一個好習慣。
- <b>在 XML 中,空格會被保留</b>
- <b>最佳命名習慣</b>
使名稱具有描述性。使用下劃線的名稱也很不錯。
名稱應當比較簡短,比如:<book_title>,而不是:<the_title_of_the_book>。
1.避免** "-" **字符。如果您按照這樣的方式進行命名:"first-name",一些軟件會認為你需要提取第一個單詞。
2.避免** "." **字符。如果您按照這樣的方式進行命名:"first.name",一些軟件會認為 "name" 是對象 "first" 的屬性。
3.避免** ":" **字符。冒號會被轉換為命名空間來使用(稍后介紹)。
XML 文檔經常有一個對應的數據庫,其中的字段會對應 XML 文檔中的元素。有一個實用的經驗,即使用數據庫的名稱規則來命名XML 文檔中的元素。
- <b>XML 元素vs. 屬性</b>
<person sex="female">
<firstname>Anna</firstname>
<lastname>Smith</lastname>
</person>
<person>
<sex>female</sex>
<firstname>Anna</firstname>
<lastname>Smith</lastname>
</person>
在第一個例子中,sex 是一個屬性。在第二個例子中,sex 則是一個子元素。兩個例子均可提供相同的信息。
沒有什么規矩可以告訴我們什么時候該使用屬性,而什么時候該使用子元素。我的經驗是在HTML 中,屬性用起來很便利,但是在 XML 中,您應該盡量避免使用屬性。如果信息感覺起來很像數據,那么請使用子元素吧。
- <b>避免XML 屬性?</b>
因使用屬性而引起的一些問題:
1.屬性無法包含多重的值(元素可以)
2.屬性無法描述樹結構(元素可以)
3.屬性不易擴展(為未來的變化)
4.屬性難以閱讀和維護
請盡量使用元素來描述數據。而僅僅使用屬性來提供與數據無關的信息。
在此我們極力向您傳遞的理念是:元數據(有關數據的數據)應當存儲為屬性,而數據本身應當存儲為元素。
- <b>什么是 XMLHttpRequest 對象?</b>
XMLHttpRequest 對象用于在后臺與服務器交換數據。
XMLHttpRequest 對象是開發者的夢想,因為您能夠:
1.在不重新加載頁面的情況下更新網頁
2.在頁面已加載后從服務器請求數據
3.在頁面已加載后從服務器接收數據
4.在后臺向服務器發送數據