XML:extensiable markup language 被稱做可擴展標記語言css
XML簡單的歷史介紹:html
XML文件就解決了以上的問題了,若是使用XML描述上述圖片的關係,是很是簡單的!web
<?xml version="1.0" encoding="UTF-8" ?> <中國> <北京> <海淀></海淀> <豐臺></豐臺> </北京> <湖南> <長沙></長沙> <岳陽></岳陽> </湖南> <湖北> <武漢></武漢> <荊州></荊州> </湖北> </中國>
XML文件還能使用瀏覽器打開:數據庫
咱們能夠發現XML是能夠描述很複雜的數據關係的瀏覽器
①:配置文件(例子:Tomcat的web.xml,server.xml……),XML可以很是清晰描述出程序之間的關係markdown
②:程序間數據的傳輸,XML的格式是通用的,可以減小交換數據時的複雜性!架構
③:充當小型數據庫,若是咱們的數據有時候須要人工配置的,那麼XML充當小型的數據庫是個不錯的選擇,程序直接讀取XML文件顯然要比讀取數據庫要快呢!編碼
XML被設計爲「什麼都不作」,XML數據或XML文檔只用於組織、存儲數據,除此以外的數據生成、讀取、傳送、存取等等操做都與XML自己無關!spa
因而乎,想要操做XML,就須要用到XML以外的技術了:設計
standalone–獨立使用–默認是no。standalone表示該xml是否是獨立的,若是是yes,則表示這個XML文檔時獨立的,不能引用外部的DTD規範文件;若是是no,則該XML文檔不是獨立的,表示能夠引用外部的DTD規範文檔。
正確的文檔聲明格式,屬性的位置不能改變!
<?xml version="1.0" encoding="utf-8" standalone="no"?>
首先在這裏說明一個概念:在XML中元素和標籤指的是同一個東西!不要被不一樣的名稱所迷惑了!
元素中須要值得注意的地方:
看起來好像有不少須要值得注意的地方,其實只須要記住:XML的語法是規範的!不要隨意亂寫!
屬性是做爲XML元素中的一部分的,命名規範也是和XML元素同樣的!
<!--屬性名是name,屬性值是china--> <中國 name="china"> </中國>
註釋和HTML的註釋是同樣的
<!---->
在編寫XML文件時,有些內容可能不想讓解析引擎解析執行,而是看成原始內容處理。遇到此種狀況,能夠把這些內容放在CDATA區裏,對於CDATA區域內的內容,XML解析程序不會處理,而是直接原封不動的輸出
語法:
<![CDATA[ ...內容 ]]>
對於一些單個字符,若想顯示其原始樣式,也可使用轉義的形式予以處理。
處理指令,簡稱PI (processing instruction)。處理指令用來指揮解析引擎如何解析XML文檔內容。
例如:
在XML文檔中可使用xml-stylesheet指令,通知XML解析引擎,應用css文件顯示xml文檔內容。
<?xml-stylesheet type="text/css" href="1.css"?>
<?xml version="1.0" encoding="UTF-8" ?> <?xml-stylesheet type="text/css" href="1.css"?> <china> <guangzhou> 廣州 </guangzhou> <shenzhen> 深圳 </shenzhen> </china>
guangzhou{ font-size: 40px; }
①:JAXP(The Java API For XML Processing):主要負責解析XML
②:JAXB(Java Architecture for XML Binding):主要負責將XML映射爲Java對象