XML(2)----XML的基本常識
阿新 • • 發佈:2019-01-01
本文主要是介紹XML文件格式和XML的語法。
XML文件內容 的基本單位。
語法格式:
<標籤>文字內容</標籤>
eg.
<姓名>zhanshenzhi2008</姓名>
無論文字內容多麼的複雜,XML元素中還可以再巢狀別的元素,這樣是相關元素構成等級機構。記住:XML是樹結構 。
處理指令主要是給解析器提供資訊,是其能夠正確解釋文件內容。還可以定義文件編碼方式或者把一個樣式單檔案應用到XML文件上用以顯示。
它的起始標示符:<?
結束標示符:?>
eg.
或者
語法格式:
如果一個元素從檔案頭的序言部分之後開始一直到檔案尾,包括了檔案中所有的資料資訊,我們成之為根元素,被巢狀在裡面的元素就是子元素。
以上的eg.中<employee>就是<employees> 的子元素。
屬性是以名稱/取值對出現,並且屬性名不能重複。
eg.
<salary currency=''US$''>2500</salary>
currency=“US$”就是salary的屬性,並且屬性值並需用引號,和HTML語法(可有可無)不同。
XML文件的基本結構有序言部分和一個根元素組成。
序言包括XML宣告和DTD(或者是XMLSchema)。
將上面的例子加上如下的序言,就構成了一個完整的XML文件
XML文件定義遵循 http://www.w3.org/TR/REC-xml
1.起始標籤和結束標籤應當匹配:結束標籤必不可少的。
2.大小寫應一致:XML對字母的大小寫是敏感的。<employee>和<Employee>是完全不同的兩個標籤。
3.元素應當正確巢狀;子元素必須巢狀在父元素中。
下面是錯誤的:
<A><B></A><B>
正確的是
<A><B></B></A>
4.屬性值必須用引號。
XML 名稱空間屬性被放置於元素的開始標籤之中
語法格式:
xmlns:namespace-prefix="namespaceURI"
eg.現在有兩個XML文件被一起使用,兩個文件都有不同內容的<table>標籤,此時就會發生衝突
為了避免衝突,此時用名稱空間,如下
註釋:用於標示名稱空間的地址不會被解析器用於查詢資訊。其惟一的作用是賦予名稱空間一個惟一的名稱。不過,很多公司常常會作為指標來使用名稱空間指向實際存在的網頁,這個網頁包含關於名稱空間的資訊。請訪問http://www.w3.org/TR/html4/。
預設的名稱空間
XML文件格式:
1.元素XML文件內容 的基本單位。
語法格式:
<標籤>文字內容</標籤>
eg.
<姓名>zhanshenzhi2008</姓名>
無論文字內容多麼的複雜,XML元素中還可以再巢狀別的元素,這樣是相關元素構成等級機構。記住:XML是樹結構 。
<employees> <employee> <name>zhanshenzhi2008</name> <salary>3100</salary> </employee> <employee> <name>lj</name> <salary>7000</salary> </employee> </employees>
除了元素,XML文件能出現的有效物件:處理指令、註釋、根元素、子元素、和屬性。
處理指令主要是給解析器提供資訊,是其能夠正確解釋文件內容。還可以定義文件編碼方式或者把一個樣式單檔案應用到XML文件上用以顯示。
它的起始標示符:<?
結束標示符:?>
eg.
<?xml version="1.0"?>
或者
<?xml version="1.0" encoding="ISO-8859-1"?>
語法格式:
<!--註釋內容-->
如果一個元素從檔案頭的序言部分之後開始一直到檔案尾,包括了檔案中所有的資料資訊,我們成之為根元素,被巢狀在裡面的元素就是子元素。
以上的eg.中<employee>就是<employees> 的子元素。
5.屬性
屬性是對元素的進一步說明,它必須出現在起始標籤中。屬性是以名稱/取值對出現,並且屬性名不能重複。
eg.
<salary currency=''US$''>2500</salary>
currency=“US$”就是salary的屬性,並且屬性值並需用引號,和HTML語法(可有可無)不同。
XML的語法
序言包括XML宣告和DTD(或者是XMLSchema)。
將上面的例子加上如下的序言,就構成了一個完整的XML文件
<?xml version="1.0"?>
<!DOCTYPE employees SYSTEM "employees.dtd">
<employees>
<employee>
<name>zhanshenzhi2008</name>
<salary>3100</salary>
</employee>
<employee>
<name>lj</name>
<salary>7000</salary>
</employee>
</employees>
XML文件定義遵循 http://www.w3.org/TR/REC-xml
1.起始標籤和結束標籤應當匹配:結束標籤必不可少的。
2.大小寫應一致:XML對字母的大小寫是敏感的。<employee>和<Employee>是完全不同的兩個標籤。
3.元素應當正確巢狀;子元素必須巢狀在父元素中。
下面是錯誤的:
<A><B></A><B>
正確的是
<A><B></B></A>
4.屬性值必須用引號。
5.元素的屬性名不能重複。
XML的名稱空間
XML文件中很可能會定義許多名字相同而意義不同的元素或屬性,尤其在把不同的XML文件合二為一時,更容易產生衝突。名稱空間就是為了解決這個問題而提出的。它用URI(Uniform Resource Identifier,統一資源定位符)加以區別,是在XML檔案的元素和屬性中出現的所有名稱的集合。XML 名稱空間屬性被放置於元素的開始標籤之中
語法格式:
xmlns:namespace-prefix="namespaceURI"
eg.現在有兩個XML文件被一起使用,兩個文件都有不同內容的<table>標籤,此時就會發生衝突
<table>
<tr>
<td>hello</td>
<td>good</td>
</tr>
</table>
<table>
<name>zhanshenzhi2008</name>
<width>100</width>
<length>160</length>
</table>
為了避免衝突,此時用名稱空間,如下
<l:table xmlns:h="http://www.w3.org/TR/html4/">
<l:tr>
<l:td>hello</l:td>
<l:td>good</l:td>
</l:tr>
</l:table>
<j:table xmlns:f="http://www.w3school.com.cn/furniture">
<j:name>zhanshenzhi2008</j:name>
<j:width>100</j;width>
<j;length>160</j;length>
</j;table>
註釋:用於標示名稱空間的地址不會被解析器用於查詢資訊。其惟一的作用是賦予名稱空間一個惟一的名稱。不過,很多公司常常會作為指標來使用名稱空間指向實際存在的網頁,這個網頁包含關於名稱空間的資訊。請訪問http://www.w3.org/TR/html4/。
預設的名稱空間
<table xmlns:h="http://www.w3.org/TR/html4/">
<tr>
<td>hello</td>
<td>good</td>
</tr>
</table>