国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
個人總結(jié)的xml,最適合初學者了,不信看看。(轉(zhuǎn))
XML將被用來描述、存儲數(shù)據(jù),而HTML則是用來格式化和顯示數(shù)據(jù)的。
XML DTD/Schema <->; 數(shù)據(jù)庫表結(jié)構(gòu)
XML 文件          <->; 數(shù)據(jù)庫表內(nèi)容
XML的文檔格式 
  首先介紹XML文檔內(nèi)容的基本單元——元素,它的語法格式如下: 
  〈標簽〉文本內(nèi)容〈/標簽〉 
  元素是由起始標簽、元素內(nèi)容和結(jié)束標簽組成。用戶把要描述的數(shù)據(jù)對象放在起始標簽和結(jié)束標簽之間。例如: 
  <姓名>;王平</姓名>; 
  無論文本內(nèi)容有多長或者多么復(fù)雜,XML元素中還可以再嵌套別的元素,這樣使相關(guān)信息構(gòu)成等級結(jié)構(gòu)。下面的例子中,在<employees>;的元素中包括了所有職員的信息,每位職員都由<employee>;元素來描述,而<employee>;元素中又嵌套了<name>;和<salary>;元素。 
  例1: 
  <employees>; 
    <employee>; 
      <name>;Lars Peterson</name>; 
      <salary>;25000</salary>; 
    </employee>; 
    <employee>; 
      <name>;Charlotte M. Cooper</name>; 
      <salary>;34500</salary>; 
    </employee>; 
  </employees>; 
  除了元素,XML文檔中能出現(xiàn)的有效對象是:處理指令、注釋、根元素、子元素和屬性。 
● 處理指令 
  處理指令給XML解析器提供信息,使其能夠正確解釋文檔內(nèi)容,它的起始標識是“<?”,結(jié)束標識是“?>;”。常見的XML聲明就是一個處理指令: 
  <?xml version=“1.0”?>; 
  處理指令還可以有其他的用途,比如定義文檔的編碼方式是GB碼還是Unicode編碼方式,或是把一個樣式單文件應(yīng)用到XML文檔上用以顯示。 
● 注釋 
  注釋是XML文件中用作解釋的字符數(shù)據(jù),XML處理器不對它們進行任何處理。注釋是用“<!--”和“ -->; ”引起來的,可以出現(xiàn)在XML元素間的任何地方,但是不可以嵌套: 
  <!--這是一個注釋-->; 
● 根元素和子元素 
  如果一個元素從文件頭的序言部分之后開始一直到文件尾,包含了文件中所有的數(shù)據(jù)信息,我們稱之為根元素。 
  XML元素是可以嵌套的,那么被嵌套在內(nèi)的元素稱為子元素。在前面的例子中?lt;employee>;就是<employees>;的子元素。 
● 屬性 
  屬性給元素提供進一步的說明信息,它必須出現(xiàn)在起始標簽中。屬性以名稱/取值對出現(xiàn),屬性名不能重復(fù),名稱與取值之間用等號“=”分隔,并用引號把取值引起來。例如:   <salary currency=“US$”>; 25000 </salary>; 
  上例中的屬性說明了薪水的貨幣單位是美元。 
XML的語法 
  XML文檔的基本結(jié)構(gòu)由序言部分和一個根元素組成。序言包括了XML聲明和DTD(或者是XML Schema),DTD(Document Type Define,文檔定義類型)和XML Schema都是用來描述XML文檔結(jié)構(gòu)的,也就是描述元素和屬性是如何聯(lián)系在一起的。 
  例如,在例1的文檔前面加上如下的序言部分,就構(gòu)成了一個完整的XML文檔: 
  <?xml version=“1.0”?>; 
  <!DOCTYPE employees SYSTEM“employees.dtd”>; 
  一個XML文檔中有且僅有一個根元素,其他所有的元素都是它的子元素,在例1中,<employees>;就是根元素。 
  一個XML文檔首先應(yīng)當是“格式良好的”(Well-Formed),該規(guī)定的正式定義位于: 
  http://www.w3.org/TR/REC-xml 
  “格式良好的”XML文檔除了要滿足根元素唯一的特性之外,還包括: 
  ● 起始標簽和結(jié)束標簽應(yīng)當匹配:結(jié)束標簽是必不可少的; 
  ● 大小寫應(yīng)一致:XML對字母的大小寫是敏感的,<employee>;和<Employee>;是完全不同的兩個標簽,所以結(jié)束標簽在匹配時一定要注意大小寫一致; 
  ● 元素應(yīng)當正確嵌套:子元素應(yīng)當完全包括在父輩元素中,下面的例子就是嵌套錯誤: 
  <A>; 
    <B>; 
    </A>; 
  </B>; 
  正確的嵌套方式如下: 
  <A>; 
    <B>; 
    </B>; 
  </A>; 
  ● 屬性必須包括在引號中;
單引號雙引號都可以,一般是雙引號。 <gangster name=‘George "Shotgun" Ziegler‘>
  ● 元素中的屬性是不允許重復(fù)的。
數(shù)據(jù)既可以存儲在子元素中也可以存儲在屬性中, 我的經(jīng)驗是屬性在HTML中可能相當便利,但在XML中,你最好避免使用,把數(shù)據(jù)存儲到子元素中。有些時候應(yīng)該為一個元素設(shè)計一個ID引用,通過這個ID可以引用存取特定的XML元素,就象HTML中的name和id屬性一樣。  
XML文檔的“有效性”是指一個XML文檔應(yīng)當遵守DTD文件或是Schema的規(guī)定,“有效的”XML文檔肯定是“格式良好的”,有關(guān)內(nèi)容我們會在以后詳細說明。 XML Schema(XML模式)是基于XML的DTD的替代品,DTD和Schema可以相互替代。
●XML的名稱空間 
  XML文檔中很可能會定義許多名字相同而意義不同的元素或?qū)傩?,尤其在把不同的XML文檔合而為一時,更容易產(chǎn)生沖突。名稱空間就是為了解決這個問題而提出的。它用URI(Uniform Resource Indicator,統(tǒng)一資源指示器)加以區(qū)別,是在XML文件的元素和屬性中出現(xiàn)的所有名稱的集合。如下例: 
  <pr:payment xmlns:pr=“http://www. microsoft.com/payroll”>; 
  <pr:employee>;Lars Peterson</pr:employee>; 
  <pr:description>;Reimburse expenses</pr:description>; 
  <pr:total>;199.76</pr:total>; 
  </pr:payment>; 
  有了名稱空間,用戶就可以保證在文件中使用的名稱是唯一的。對元素的屬性xmlns進行定義就表示對該元素指定了一個名稱空間。namespace_name必須是一個有效的URI。 
  如果省略local_prefix(本地前綴),這時就構(gòu)成了缺省名稱空間: 
  <payment xmlns=“http://www.microsoft.com/acct”>; 
  <customer>;1234</customer>; 
  <amount>;500.00</amount>; 
  <date_received>;12-03-2000</date_received>; 
  </payment>; 
  如果對一個元素定義了缺省名稱空間,那么該元素及其子元素,包括它們的屬性都會自動地成為該名稱空間的一部分,不用再在每一個元素和屬性前面一一標明了。
●使用XML,空白將被保留
在XML文檔中,空白部分不會被解析器自動刪除。
這一點與HTML是不同的。在HTML中,這樣的一句話:
"Hello              my name is Ordm"將會被顯示成:“Hello my name is Ordm”,
因為HTML解析器會自動把句子中的空白部分去掉。
●XML元素命名
XML元素命名必須遵守下面的規(guī)則:
元素的名字可以包含子母,數(shù)字和其他字符。 
元素的名字不能以數(shù)字或者標點符號開頭。 
元素的名字不能以XML(或者xml,Xml,xMl...)開頭。 
元素的名字不能包含空格。 
自己“發(fā)明”的XML元素還必須注意下面一些簡單的規(guī)則:
任何的名字都可以使用,沒有保留字(除了XML),但是應(yīng)該使元素的名字具有可讀性,名字使用下劃線是一個不錯的選擇。
例如: <first_name>, <last_name>.
盡量避免使用“-”,“.”,因為有可能引起混亂。
只要你愿意元素的名字可以很長,但也不要太夸張了哦。命名應(yīng)該遵循簡單易讀的原則,例如:<book_title>是一個不錯的名字,而<the_title_of_the_book>則顯得羅嗦了。 
XML文檔往往都對應(yīng)著數(shù)據(jù)表,我們應(yīng)該盡量讓數(shù)據(jù)庫中的字段的命名和相應(yīng)的XML文檔中的命名保持一致,這樣可以方便數(shù)據(jù)變換。
非英文/字符/字符串也可以作為XML元素的名字,例如<藍色理想><經(jīng)典論壇>這都是完全合法的名字。但是有一些軟件不能很好的支持這種命名,所以盡量使用英文字母來命名。
在XML元素命名中不要使用":",因為XML命名空間需要用到這個十分特殊的字符。

 

  在本文開始部分,我們對XML這個新興的技術(shù)做了一個概述,對它的優(yōu)缺點進行了分析,并對其美好的應(yīng)用前景進行了展望。在本文后半部分則對XML文檔的相關(guān)語法、格式做了簡要的描述,并介紹了幾種有用的開發(fā)工具。在以后的內(nèi)容中,我們會全面展開,深入到XML技術(shù)內(nèi)部,去探索一下這個美妙的世界!

一、顯示XML 
  XML文檔本身只描述數(shù)據(jù)內(nèi)容,它的顯示功能由樣式單來完成。利用樣式單技術(shù)時,輸出平臺不局限于顯示器,可以是打印機、繪圖儀或者是多媒體播放器。使用獨立的樣式單文件制定顯示格式的一大優(yōu)勢在于:對同一份數(shù)據(jù)文件可以制定不同的樣式風格,應(yīng)用在不同的場合,使數(shù)據(jù)能夠更合理、更有針對性地表現(xiàn)出來,提高了數(shù)據(jù)的重用性。 
  目前,W3C正式推薦的樣式單標準有兩種: 一種是層疊樣式單CSS(Cascading Style Sheets);另一種是可擴展樣式單語言XSL。 
  CSS最初是用于制定HTML文檔顯示格式的,現(xiàn)在也可用來對XML文檔進行簡單的樣式規(guī)劃。CSS在HTML中的應(yīng)用極為廣泛,但它在文本置換、依據(jù)文本內(nèi)容而決定顯示方式、對數(shù)據(jù)進行排序等智能化的顯示功能上略顯不足。 
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/css" href="cd_catalog.css"?>
  而XSL則較好地解決了CSS的這些問題,它最常用的功能是將XML的置標轉(zhuǎn)換成為HTML的置標并顯示輸出。而且XSL還可以將XML文檔向任何其他格式的結(jié)構(gòu)文檔進行轉(zhuǎn)換。這種功能在B2B的商務(wù)模式中有著很好的應(yīng)用前景。 
  XSL利用模式匹配的方法,選擇XML文檔中需要處理的元素/屬性,再針對這些特定的對象制定相應(yīng)的轉(zhuǎn)換規(guī)則。借助XSL,我們還可以添加新的元素/屬性,對所有元素/屬性進行重新排序、循環(huán)處理、條件判斷等程序化的控制,使其適應(yīng)各種復(fù)雜的需求。 
  在XML文檔中引用XSL的格式如下: 
  <?xml-stylesheet type=“text/xsl” href=“Employees.xsl” ?>; 
  一個XML文檔只能引用一個XSL樣式單。XML解析器在處理XML文檔時,遇到處理指令后,會載入指定的XSL樣式單,然后根據(jù)其中的規(guī)則進行相應(yīng)的轉(zhuǎn)換處理。


二、綁定XML 
  Web服務(wù)器與客戶機之間的數(shù)據(jù)傳遞方式有三種: HTML頁面、XML文檔以及XML數(shù)據(jù)島。其中,XML數(shù)據(jù)島通過特定的標簽把XML數(shù)據(jù)直接嵌入到HTML文檔中。采用數(shù)據(jù)島作為交互手段,不僅可以使數(shù)據(jù)具備一定的語義信息,同時還能保持HTML原有的一些特色,如利用用戶端腳本程序?qū)崿F(xiàn)動態(tài)信息交換等。 
  XML數(shù)據(jù)島的實現(xiàn)方法是在HTML文檔中使用<XML>;標簽。代碼的嵌入方式有兩種: 直接嵌入(如例1)和外部引用(如例2)。 
  例1: 
  <XML ID=“MyXMLData”>; 
  <?xml version=“1.0” ?>; 
  ……XML definitions…… 
  </XML>; 
  例2: 
  <XML ID=“MyXMLData” SRC=“http://www.microsoft.com/MyXMLData.xml”>; 
  </XML>; 
  在插入數(shù)據(jù)島之后,就可以把XML中的元素同HTML元素鏈接在一起,利用HTML的表現(xiàn)手法顯示XML數(shù)據(jù),這種鏈接關(guān)系被稱為綁定。綁定的方式按照HTML元素的性質(zhì)可以分為兩種:單值對象和表格對象。 
  單值對象的數(shù)據(jù)綁定需要在HTML元素中設(shè)置DATASRC屬性和DATAFLD屬性。DATASRC屬性是區(qū)分XML數(shù)據(jù)島對象的唯一標識,并且必須加上前綴“#”;DATAFLD屬性則標識了數(shù)據(jù)島中的元素對象。例3就是把一個HTML文本輸入框與<salary>;元素進行了綁定。 
  例3: 
  <INPUT TYPE=“TEXT” 
  DATASRC=“#MyXMLData” 
  DATAFLD=“salary”>; 
  至于表格對象,主要是與HTML中的<TABLE>;標簽綁定。一般地,可以借助DSO(Data Source Object,數(shù)據(jù)源對象)等ActiveX控件更方便、有效地處理表格數(shù)據(jù)。具體使用方法在以后的內(nèi)容中將做詳細介紹。
XML數(shù)據(jù)島可以綁定到HTML元素上(比如表格)。
在下面的例子中,一個XML數(shù)據(jù)島(ID=cdcat)被從外部XML文檔載入。一個HTML的表格綁定到此數(shù)據(jù)島上。HTML表格內(nèi)部的span元素使用datafld屬性和XML文檔相應(yīng)的XML元素相互綁定。
<html>
<body>
<xml id="cdcat" src="cd_catalog.xml"></xml>
<table border="1" datasrc="#cdcat">
<tr>
<td><span datafld="ARTIST"></span></td>
<td><span datafld="TITLE"></span></td>
</tr>
</table>
</body>
</html>


三、訪問XML 
  Document Object Model(文檔對象模型)簡稱為DOM,是對Web文檔進行應(yīng)用開發(fā)、編程的應(yīng)用程序接口(API),是W3C公布的一種跨平臺的、與語言無關(guān)的接口規(guī)范。 
  DOM采用對象模型和一系列的接口來描述XML文檔的內(nèi)容和結(jié)構(gòu),即利用對象把文檔模型化。這種對象模型實現(xiàn)的基本功能包括: 
  ● 描述文檔表示和操作的接口; 
  ● 接口的行為和屬性; 
  ● 接口之間的關(guān)系以及互操作。 
  DOM對結(jié)構(gòu)化的XML文檔進行解析,文檔中的指令、元素、實體、屬性等所有個體都可以用對象模型表示。整個文檔的邏輯結(jié)構(gòu)類似一棵樹,生成的對象模型就是樹的節(jié)點,每個對象同時包含了方法和屬性。 
  利用DOM,開發(fā)人員可以進行動態(tài)地創(chuàng)建XML文檔、遍歷結(jié)構(gòu)、添加/修改/刪除內(nèi)容等操作。DOM面向?qū)ο蟮奶匦裕谷藗冊谔幚砗蚗ML解析相關(guān)的事務(wù)時節(jié)省大量精力,是一種符合代碼重用思想的強有力編程工具。


四、XML解析器
如果瀏覽器使用javascript作為腳本語言,那么利用下面的代碼可以創(chuàng)建XML文檔對象:
var xmlDoc=new ActiveXObject("Microsoft.XMLDOM")
如果瀏覽器使用VBScript作為腳本語言,那么利用下面的代碼可以創(chuàng)建XML文檔對象:
set xmlDoc=CreateObject("Microsoft.XMLDOM")
如果在ASP程序中使用VBScript腳本語言,那么就可以使用下面的代碼形式:
set xmlDoc=Server.CreateObject("Microsoft.XMLDOM")
將XML文檔載入解析器
使用腳本代碼可以將XML文檔載入解析器。
下面的代碼可以將一個XML文檔載入解析器:
<script type="text/javascript">
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM")
xmlDoc.async="false"
xmlDoc.load("note.xml")
// ....... processing the document goes here
</script>
第二行代碼創(chuàng)建Microsoft XML解析器的實例。
第三行代碼關(guān)閉異步載入,確保XML解析器在把XML文檔完全載入以前不會對XML文檔進行解析。
第四行則告訴解析器需要載入的XML文檔名字是note.xml。
把純XML文檔由字符載入解析器
解析器可以從一個文本字符串中載入XML文本。
下面的代碼演示了將文本字符串載入解析器:
<script type="text/javascript">
var text="<note>"
text=text+"<to>Tove</to><from>Jani</from>"
text=text+"<heading>Reminder</heading>"
text=text+"<body>Don‘t forget me this weekend!</body>"
text=text+"</note>"
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM")
xmlDoc.async="false"
xmlDoc.loadXML(text)
// ....... processing the document goes here
</script>
注意這里載入字符串使用的是"loadXML()"方法)(而不是前面用過的"load()"方法), "loadXML()"是用于載入字符串,"load()"是用于載入XML文檔。
使用javascript語言顯示XML數(shù)據(jù)
可以使用javascript語言來顯示XML數(shù)據(jù)。
javascript (或者 VBScript)可以從XML文檔中導入數(shù)據(jù),并將這些數(shù)據(jù)在HTML頁面中顯示出來。
<html>
<head>
<script type="text/javascript"
for="window" event="onload">
var xmlDoc=new ActiveXObject("Microsoft.XMLDOM")
xmlDoc.async="false"
xmlDoc.load("xml_note.xml")
nodes=xmlDoc.documentElement.childNodes
to.innerText=    nodes.item(0).text
from.innerText=  nodes.item(1).text
header.innerText=nodes.item(2).text
body.innerText=  nodes.item(3).text
</script>
<title>HTML using XML data</title>
</head>
<body bgcolor="yellow">
<h1>W3Schools.com Internal Note</h1>
<b>To: </b>
<span id="to"> </span>
<br />
<b>From: </b>
<span id="from"></span>
<hr>
<b><span id="header"></span></b>
<hr>
<span id="body"></span>
</body>
</html>

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
XML DOM介紹
xml數(shù)據(jù)編碼方式
XSLT輕松入門第二章:XSLT的實例
XML DOM
delphi操作xml學習筆記 之二 簡單讀寫
XML認證教程,第 1 部分: XML簡介
更多類似文章 >>
生活服務(wù)
分享 收藏 導長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服