XML介紹

覆手為雲p發表於2018-04-24

 

1、XML主要用來傳輸和儲存資料,是一種可擴充套件的標記語言。
2、XML具有自我描述性,標籤沒有被預定義,需要使用者自定義,所有的標籤都必須關閉。
3、XML文件是一種樹形結構,必須包含根元素:父元素擁有子元素;

    <root>
        <child>
            <subchild>...</subchild>
        </child>
    </root>

4、宣告。如果需要可以在第一行加如下格式的宣告:<?xml version="1.0" encoding="utf-8"?>
5、XML區分大小寫字母;
6、屬性值必須加引號;
7、五個預定義實體:&lt(<),&gt(>),&amp(&),&apos('),&quot(")
8、所有的空格都會被保留,而不像HTML會刪除連續空格只保留一個;
9、XML以LF儲存換行;
10、XML元素指從開始標籤直到結束標籤的部分,其中可以包含屬性、文字、其他元素;
11、命名 規則:
    可以包含字母、數字及其他字元;
    不能以數字或標點符號開始;
    不能以字母xml(無論大小寫或大小寫組合)開始;
12、XML應儘量避免使用屬性,因為屬性不能包含多個值,屬性不能包含樹結構且不容易擴充套件;
13、語法錯誤的XML不會被讀取,可使用DTD來驗證XML的正確性;
    例:

    <!DOCTYPE note
    [
    <!ELEMENT note (to,from,heading,body)>
    <!ELEMENT to (#PCDATA)>
    <!ELEMENT from (#PCDATA)>
    <!ELEMENT heading (#PCDATA)>
    <!ELEMENT body (#PCDATA)>
    ]>

    或使用<!DOCTYPE note SYSTEM "Note.dtd">來引入外部dtd檔案;
14、使用<?xml-stylesheet type="text/css" href="cd_catalog.css"?>引入css格式來顯示XML文件;
15、使用名稱字首來避免命名衝突,例:<h:root></h:root>
    但字首必須通過xmlns屬性來定義名稱空間,例:<h:root xmlns:h="http://url"></h:root>,一次也可用多個xmlns來宣告多個名稱空間;
16、<![CDATA[註釋]]>        XML的註釋部分不會被解析,不會被檢查語法錯誤等;