你們好,小樂又來了,很久不見!此次接着上次可擴展標記語言XML之一:XML概念,做用,示例,繼續講述XML。編碼
1)、必須有 XML 文檔聲明:spa
<?xml version="1.0"?> <?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" standalone="yes"?> <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
說明:
XML standalone 定義了外部定義的 DTD 文件的存在性. standalone element 有效值是 yes 和 no. 以下是一個例子:code
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE s1 PUBLIC "http://www.ibm.com/example.dtd" "example.dtd"> <s1>.........</s1>
值 no 表示這個 XML 文檔不是獨立的而是依賴於外部所定義的一個 DTD. 值 yes 表xml
示這個 XML 文檔是自包含的(self-contained).blog
注意文本文件保存時候默認的編碼格式是ANSI,需用記事本把它手動改成UTF-8保存。圖片
2)、必須有且僅有一個根元素utf-8
3)、嚴格區分大小寫element
4)、屬性值用引號(雙引號或單引號) :等號分開的名稱-值對;在一個元素上,相同的屬文檔
性只能出現一次it
5)、標記成對;
6)、空標記關閉;
7)、元素正確嵌套。
1)、名稱中能夠包含字母、數字或者其餘可見字符;
2)、名稱不能以數字開頭;
3)、不能以 XML/xml/Xml…開頭;
4)、名稱中不能含空格;
5)、名稱中不能含冒號(注:冒號留給命名空間使用)
實體叫 ENTITY,實體的做用是避免重複輸入。做用至關於宏或者變量。
1)內置的 5 種實體
實體 符號
< <
& &
" "
' '
2)自定義實體
<!DOCTYPE 根元素[ <!--實體聲明--> <!ENTITY 實體名 "實體內容"> ]> 使用已定義的實體:&實體名; <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE sxt[ <!--實體聲明--> <!ENTITY xm "明明"> <!ENTITY gen "保密"> ]> <sxt> <teacher> <name>明明</name> <gender>保密</gender> </teacher> <!--引用實體的方法--> <teacher> <name>&xm;</name> <gender>&gen;</gender> </teacher> </sxt>
文檔類型定義——DOCTYPE,文檔類型聲明,緊跟 XML 聲明以後,包含全部實體聲明
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE 根元素標記名[ <!--實體聲明--> ]>
全部的 XML 文檔(以及 HTML 文檔)均由如下簡單的構建模塊構成:
元素
屬性
實體
PCDATA
CDATA
CDATA 節(character data)
用於把整段文本解釋爲純字符數據而不是標記的狀況。如包含大量的<、>、&、或者"
字符。CDATA 節中的全部字符都會被當作元素字符數據的常量部分,而不是 XML 標記,
能夠輸入除]]>外任意字符,不能嵌套。
<![CDATA[ ...... ]]>
PCDATA 的意思是被解析的字符數據(parsed character data)。 可把字符數據想象爲 XML 元素的開始標籤與結束標籤之間的文本。
PCDATA 是會被解析器解析的文本。這些文本將被解析器檢查實體以及標記。
文本中的標籤會被看成標記來處理,而實體會被展開。
不過,被解析的字符數據不該當包含任何 &、< 或者 > 字符;須要使用 &、< 以及 >
的內置實體來分別替換它們。