1:XML與HTML的異同:
XML是被設計用來描述數據的,重點是:什么是數據,如何存放數據。
HTML是被設計用來顯示數據的,重點是:顯示數據以及如何顯示數據更好上面。
HTML是與顯示信息相關的, XML則是與描述信息相關的。
2:通過XML,你可以在HTML文件之外存儲數據。
把數據轉換為XML格式存儲將大大減少交換數據是的復雜性,并且還可以使得這些數據能被不同的程序讀取.
3:Easy Sample
<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>Lin</to>
<from>Ordm</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note> |
<?xml version="1.0" encoding="ISO-8859-1"?>???//? 版本介紹,以及字符集使用的是ISO-8859-1 .
<note>?????????????????????????????????????????????????????????????????//根元素,一個文件只有只個根元素.?????
<to>Lin</to>
<from>Ordm</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>??????//描述性語言部分,講述一個頭為Reminder,內容為
??????????????????????????????????????????????????????????????????????????????Don't forget me this weekend!的NOTE從LIN發送給ORDM.
</note>??????????????????????????????????????????????????????????????????//根元素的結束,這樣的字符必須是結構良好的,成對出現.
????????????????????????????????????????????????????????????????????????????????嵌套也必須遵從順序<b><i></i></b>是錯誤的。
注意:XML對大小寫是敏感的,note與Note與NOTE三者是完全不同的.
4:屬性值必須帶引號
<?xml version="1.0" encoding="ISO-8859-1"?>
<note date="12/11/99"> |
其中版本號,以及時間皆為屬性,所以必須加引號。
注釋的書寫:<!-- 這是一個注釋 -->??
5:父元素與子元素之間的關系
假設有這樣一個表:
署名: XML 指南 第一章: XML入門簡介 第二章: XML語法 - XML元素必須有結束標記
- XML元素必須正確的嵌套
|
那么對應的語言描述如下:
<book>
<title>XML 指南</title>
<prod id="33-657" media="paper"></prod> <chapter>XML入門簡介
<para>什么是HTML</para>
<para>什么是XML</para>
</chapter>
<chapter>XML語法
<para>XML元素必須有結束標記</para>
<para>XML元素必須正確的嵌套</para>
</chapter>
</book> |
?
在上面的代碼中,book元素是XML文檔的根元素,title元素和chapter元素是book元素的子元素。book元素是title元素和chapter元素的父元素。title元素,prod元素和chapter元素是平級元素,因為他們都有同一個父元素。
6:???命名
遵從一般的命名規則,但是注意在XML元素命名中不要使用":",因為XML命名空間需要用到這個十分特殊的字符。
7: 使用子元素還是屬性
<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中,你最好避免使用
推薦樣式:
<note>
<date>
<day>12</day>
<month>11</month>
<year>99</year>
</date>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note> |
需要注意的是:元數據(與數據有關的數據)應該以屬性的方式存儲,而數據本身應該以元素的形式存儲。
????????????????????????????????????????
7: 數據島
使用非官方標準的<xml>標記可以將XML數據嵌入到HTML頁面中。
XML數據可以象下面的例子那樣嵌入HTML頁面:
<xml id="note">
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
</xml> |
或者象下面這樣嵌入外部單獨的XML文件:
<xml id="note" src="note.xml">
</xml> |
注意那個<xml>標記是一個HTML元素,而不是一個XML元素。
8: 轉意字符
不合法的XML字符必須被替換為相應的實體。
如果在XML文檔中使用類似"<" 的字符, 那么解析器將會出現錯誤,因為解析器會認為這是一個新元素的開始。所以不應該象下面那樣書寫代碼:
<message>if salary < 1000 then</message> |
為了避免出現這種情況,必須將字符"<" 轉換成實體,象下面這樣:
<message>if salary < 1000 then</message> |
下面是五個在XML文檔中預定義好的實體:
< | < | 小于號 |
> | > | 大于號 |
& | & | 和 |
' | ' | 單引號 |
" | " | 雙引號 |
實體必須以符號"&"開頭,以符號";"結尾
。
9:CDATA部件
在CDATA內部的所有內容都會被解析器忽略。
如果文本包含了很多的"<"字符和"&"字符——就象程序代碼一樣,那么最好把他們都放到CDATA部件中。
一個 CDATA 部件以"<![CDATA[" 標記開始,以"]]>"標記結束:
<script>
<![CDATA[
function matchwo(a,b)
{
if (a < b && a < 0) then
{
return 1
}
else
{
return 0
}
}
]]>
</script> |
在前面的例子中,所有在CDATA部件之間的文本都會被解析器忽略。
CDATA注意事項:
CDATA部件之間不能再包含CDATA部件(不能嵌套)。如果CDATA部件包含了字符"]]>" 或者"<![CDATA[" ,將很有可能出錯哦。
同樣要注意在字符串"]]>"之間沒有空格或者換行符。
10:
posted on 2006-12-26 10:10
喬棟 閱讀(360)
評論(0) 編輯 收藏 引用 所屬分類:
XML