源代碼下載:?learnxml-cn.xml
XML是一種標(biāo)記語(yǔ)言,被設(shè)計(jì)用來(lái)存儲(chǔ)數(shù)據(jù)和傳輸數(shù)據(jù)。
不像HTML, XML不指定怎樣顯示或格式化數(shù)據(jù),只是攜帶它。
<!-- XML中的注解像這樣 -->
<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book category="COOKING">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<book category="CHILDREN">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="WEB">
<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
<!-- 上面是一個(gè)典型的XML文件。
它以一個(gè)聲明開(kāi)始,通知一些元數(shù)據(jù)(自選的)
XML使用一個(gè)樹(shù)的結(jié)構(gòu)。上面的文件中,根節(jié)點(diǎn)是'bookstore',它有三個(gè)孩子節(jié)點(diǎn),
所有的'books'。那些節(jié)點(diǎn)有更多的孩子節(jié)點(diǎn),等等。。。
節(jié)點(diǎn)用開(kāi)放/關(guān)閉標(biāo)簽創(chuàng)建, 并且孩子就是在開(kāi)發(fā)和關(guān)閉標(biāo)簽之間的節(jié)點(diǎn)。-->
<!-- XML 攜帶兩類信息:
1 - 屬性 -> 那是關(guān)于一個(gè)元素的元數(shù)據(jù)。
通常,XML解析器使用這些信息去正確地存儲(chǔ)數(shù)據(jù)。
它通過(guò)在開(kāi)放標(biāo)簽里出現(xiàn)在插入語(yǔ)中來(lái)表示。
2 - 元素 -> 那是純數(shù)據(jù)。
那就是解析器將從XML文件提取的東西。
元素出現(xiàn)在開(kāi)放和關(guān)閉標(biāo)簽之間,沒(méi)插入語(yǔ)。-->
<!-- 下面, 一個(gè)有兩個(gè)屬性的元素-->
<file type="gif" id="4293">computer.gif</file>
一個(gè)XML文件是良好格式的如果它是語(yǔ)法正確的。 但是, 使用文件定義,比如DTD和XML概要,在文件中插入更多的限制是可能的。
一個(gè)遵守一個(gè)文件定義的XML文件被叫做有效的,對(duì)于那個(gè)文件來(lái)說(shuō)。
有了這個(gè)工具,你能夠在應(yīng)用邏輯之外檢查XML數(shù)據(jù)。
<!-- 下面, 你能夠看到一個(gè)簡(jiǎn)化版本的增加了DTD定義的bookstore文件。-->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE note SYSTEM "Bookstore.dtd">
<bookstore>
<book category="COOKING">
<title >Everyday Italian</title>
<price>30.00</price>
</book>
</bookstore>
<!-- 這個(gè)DTD可能是像這樣的:-->
<!DOCTYPE note
[
<!ELEMENT bookstore (book+)>
<!ELEMENT book (title,price)>
<!ATTLIST book category CDATA "Literature">
<!ELEMENT title (#PCDATA)>
<!ELEMENT price (#PCDATA)>
]>
<!-- 這個(gè)DTD以一個(gè)聲明開(kāi)始。
接下來(lái), 根節(jié)點(diǎn)被聲明, 它需要一個(gè)或多個(gè)孩子節(jié)點(diǎn)'book'。
每個(gè) 'book' 應(yīng)該準(zhǔn)確包含一個(gè) 'title' 和 'price' 和
一個(gè)被叫做'category'的缺省值為"Literature"的屬性。
這個(gè)'title' 和 'price'節(jié)點(diǎn)包含一個(gè)解析過(guò)的字符數(shù)據(jù)。-->
<!-- 這個(gè)DTD可以在XML文件中本身被聲明。-->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE note
[
<!ELEMENT bookstore (book+)>
<!ELEMENT book (title,price)>
<!ATTLIST book category CDATA "Literature">
<!ELEMENT title (#PCDATA)>
<!ELEMENT price (#PCDATA)>
]>
<bookstore>
<book category="COOKING">
<title >Everyday Italian</title>
<price>30.00</price>
</book>
</bookstore>
更多建議: