xml語法規範:
1、所有xml元素必須結束
<abc>我是xml</abc>,在xml 文件中如果標籤中沒有內容,可以自結束,如<abc></abc>可以寫成 <abc />
2、標籤不允許交叉嵌套
3、有且僅有一個根元素
4、xml文件中 空格和換行 會被解析器進行解析的,這點不同於html
5、嚴格區分大小寫,元素和屬性名稱不能以數字開始
(不建議‘_’下劃線,‘xml’開頭,名稱中間不能包含冒號----Schema約束衝突)
6、屬性定義語法 <元素名稱 屬性名稱="屬性值" 屬性名稱="屬性值" ....>
一個元素定義多個屬性的,每個屬性值必須使用單引號和雙引號
如:<abc name = 'test'>
</abc>
在XML技術中,標籤屬性所代表的信息也可以被改成用子元素的形式來描述,如上面可以改爲:
<abc>
<name>test</name>
</abc>
7、xml註釋寫在文檔聲明(<?xml version="1.0"?>)之後,與html註釋相同 <!-- --> ,註釋不能嵌套
CDATA塊:
CDATA區域內 保留不被解析器解析的內容,通常存放特殊代碼,這些代碼造成xml格式混亂
對於CDATA中的內容,XML解析程序不會處理,而是原封不動的輸出。
語法:
<![CDATA[內容]]>
例如:
<![CDATA[
<abc>test</abc>
]]>
那麼CDATA塊中的內容:<abc>test</abc>就會直接輸出
當然特殊字符也可以通過轉義進行輸出:‘&’ 可用 ‘&’ ‘<’ 可用 ‘ <’ ‘>’ 可用 ‘ >’ ’ " ‘(雙引號)可用 ‘"’ ‘ ' ’(單引號)可用‘ ' ’ 進行轉義。
CDATA和轉義字符在哪些情況使用?區別?
* 優先使用CDATA XML技術在存儲數據,傳輸數據、解析數據
處理指令:
簡稱PI :處理指令用來指揮解析引擎如何解析XMl文檔內容(指令之前不能有註釋)
例如:xml通過pi指令引用css樣式顯示成html的形式 <?xml-stylesheet type = "text/css" href = "1.css"?>
XML 技術應用 兩大類:
1、傳輸和存儲數據 ----- 程序員爲了簡化開發,不對xml使用約束技術
* 不使用xml約束技術,xml 格式不一定正確
* 所有xml 數據內容生成,解析過程 都是通過程序來完成的
2、使用xml 作爲配置文件
Android SSH ----- 程序員爲了保證xml元素準確性,通常xml文檔使用約束技術的
3、爲什麼xml使用約束? 使用約束xml文檔 --- 元素內容格式更加規範
如果企業中xml沒有使用約束 ------ 通過程序生成xml和解析xml時,不使用約束,代碼更加簡單