




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !廣州傳智播客教育 XMLXML講師:講師: 王金濤王金濤高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !聯(lián)系方式l姓名:王金濤l手機(jī): lQ Q:345488485廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !目錄lXML簡(jiǎn)介lXML與HTML的區(qū)別lXML的用途lXML的構(gòu)成lXML約束DTDlDTD綜合實(shí)例lPHP DOM (圖書管理系統(tǒng))lSimpleXMLlXpath(結(jié)合SimpleXML實(shí)現(xiàn)在線金山詞霸)廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !XML歷史廣州傳智播客
2、教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !XML歷史lgml(1969)-sgml(1985)-html(1993)-xml(1998)lXMLl全 稱:Extensible Markup Languagel中文名:可擴(kuò)展標(biāo)記語言l用于標(biāo)記電子文件使其具有結(jié)構(gòu)性的標(biāo)記語言,可以用來標(biāo)記數(shù)據(jù),定義數(shù)據(jù)類型,允許用戶對(duì)自己的標(biāo)記語言進(jìn)行定義的源語言。廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !XML XML 與與 HTML HTML 的主要差異的主要差異lhtml標(biāo)簽不能自定義,從標(biāo)簽上不能達(dá)到“見詞知意”的目的lhtml將數(shù)據(jù)與格式綁定在一起l不同瀏
3、覽器解html不同lhtml語法要求不嚴(yán)格l等等廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !XML應(yīng)用場(chǎng)景l(fā)1、程序間通訊的標(biāo)準(zhǔn)l2、配置文件l3、小型數(shù)據(jù)庫l4、規(guī)范數(shù)據(jù)格式廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !廣州傳智播客教育 簡(jiǎn)單的xmll描述人的信息l描述書的信息高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !XML的構(gòu)成l文檔聲明l元素l元素屬性l注釋l特殊字符lCDATA區(qū)段l處理指令廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !文檔聲明l需要先使用文檔聲明來聲明XML文檔l最簡(jiǎn)單的語法:
4、llversion 版本為1.0lencoding 編碼格式lstandalone 外部定義的 DTD 文件的存在性:l值 no 默認(rèn)l值 yes廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !元素l一個(gè)標(biāo)簽分為起始和結(jié)束標(biāo)簽(不能省略)l一個(gè)標(biāo)簽中可以嵌套若干子標(biāo)簽,但所有標(biāo)簽必須合理的嵌套,不允許有交叉嵌套l一個(gè)XML文檔必須有且僅有一個(gè)根標(biāo)簽,其他標(biāo)簽都是這個(gè)根標(biāo)簽的子標(biāo)簽廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !元素的命名l元素(標(biāo)簽)的名稱可以包含字母、數(shù)字、減號(hào)、下劃線和英文句點(diǎn)l嚴(yán)格區(qū)分大小寫;l只能以字母或下劃線開頭;l不能
5、以xml(或XML、Xml等)開頭l名稱字符之間不能有空格或制表符;l名稱字符之間不能使用冒號(hào)廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !元素屬性l一個(gè)元素可以有多個(gè)屬性l屬性值一定要用引號(hào)(單引號(hào)或雙引號(hào))引起來l屬性名稱的命名規(guī)范與元素的命名規(guī)范相同l元素中的屬性是不允許重復(fù)的l標(biāo)簽屬性所代表的信息也可以被改成用子元素的形式來描述廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !注釋llXML聲明之前不能有注釋,注釋不能嵌套廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !特殊字符l非法的 XML 字符必須被替換為實(shí)體
6、引用。l假如您在 XML 文檔中放置了一個(gè)類似 “” 字符,那么這個(gè)文檔會(huì)產(chǎn)生一個(gè)錯(cuò)誤,這是因?yàn)榻馕銎鲿?huì)把它解釋為新元素的開始。廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !CDATA區(qū)段lCDATA:Character Datal作用:把標(biāo)簽當(dāng)做普通文本內(nèi)容l語法:廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !處理指令PIl作用:用來指揮軟件如何解析XML文檔。l語法:必須以“”作為結(jié)尾。l常用處理指令:lxml指令lxml-stylesheet指令l例: 廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !DTD約束廣
7、州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !DTD約束lXML技術(shù)中,可以編寫一個(gè)文檔來約束一個(gè)XML的書寫規(guī)范,這個(gè)文檔稱之為約束l約束文檔定義了在XML中允許出現(xiàn)的元素名稱、屬性及元素出現(xiàn)的順序等等。l格式良好的XML:遵循XML語法的XMLl有效的XML:遵循DTD約束文檔的XML廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !什么DTD約束lDocument Type Definitionl文檔類型定義l約束XML的書寫規(guī)范廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !引入DTDl內(nèi)部DTDl外部DTDl公用D
8、TD廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !內(nèi)部DTDll!DOCTYPE 書架llllllXML主體廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !DTD校檢器廣州傳智播客教育 !-var xmldoc = new ActiveXObject(Microsoft.XMLDOM);xmldoc.validateOnParse = true;xmldoc.load(demo04.xml);document.write(錯(cuò)誤信息錯(cuò)誤信息=+xmldoc.parseError.reason+);document.write(錯(cuò)誤行號(hào)錯(cuò)誤行號(hào)=+
9、xmldoc.parseError.line);-高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !外部DTDl語法:ll例:l廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !公用DTDl語法:ll例:l廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !DTD語法l定義元素l定義屬性l定義實(shí)體廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !定義元素l語法:l 廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !定義元素規(guī)則l(#PCDATA) :該類型可包含任何字符數(shù)據(jù),但是不能包含任何子元素lEMP
10、TY:該類型不能包含子元素和文本,但可以有屬性lANY:該類型可以包含任何在DTD定義的元素內(nèi)容廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !定義元素規(guī)則l(子元素) 定義只出現(xiàn)一次的子元素l(子元素1,子元素2,) 定義元素及順序l (子元素+) 1個(gè)或多個(gè)l(子元素*) 0個(gè)或多個(gè)l(子元素?) 0個(gè)或1個(gè)l(子元素1|子元素2) 互斥元素廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !定義元素混合型l l廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !定義屬性l語法:ll 廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家
11、高級(jí)軟件人才實(shí)作培訓(xùn)專家! !定義屬性屬性類型lCDATA 字符或數(shù)字l(en1|en2|) 枚舉類型lID 屬性唯一lIDREF 引用廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !默認(rèn)值廣州傳智播客教育 l#REQUIRED 必填l#IMPLIED 可選l#FIXED 固定值l值 默認(rèn)值高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !定義實(shí)體的概念l定義實(shí)體就是為一段內(nèi)容指定一個(gè)名稱,使用時(shí)通過這個(gè)名稱就可以引用其所代表的內(nèi)容l引用實(shí)體l參數(shù)實(shí)體廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !使用引用實(shí)體l定義語法:l l引用語法:l&
12、amp;實(shí)體名; < > ©l注:DTD中定義,XML使用廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !使用參數(shù)實(shí)體l定義語法:l l引用語法:l %實(shí)體名;l注:參數(shù)實(shí)體必須在DTD中先定義后使用。廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !廣州傳智播客教育 DTD綜合實(shí)例高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !廣州傳智播客教育 PHP與XML高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !目標(biāo)lPHP DOM(增刪改查)lPHP DOM(圖書管理系統(tǒng))lSimpleXML
13、lSimpleXML+Xpath(在線詞典)廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !PHP DOMldocument object model常用類:lDOMDocumentlDOMNodeListlDOMNodelDOMElement廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !創(chuàng)建DOMDocument對(duì)象lDOMDocument:_construct (l string $version , string $encoding l ) 廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !加載xmllmixed D
14、OMDocument:load ( string $filename) 廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !獲取節(jié)點(diǎn)lDOMNodeList DOMDocument:getElementsByTagName ( string name )廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !DOMNodeListlDOMNodeList lengthlDOMNode DOMNodelist:item ( int $index ) 廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !DOMNodelnodeName 節(jié)點(diǎn)名
15、稱lnodeValue 節(jié)點(diǎn)值廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !關(guān)于屬性的讀取lbool DOMElement:hasAttribute ( string $name )lbool DOMNode: hasAttributes ( void )lstring DOMElement:getAttribute( string $name )廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !創(chuàng)建節(jié)點(diǎn)lDOMElement DOMDocument:createElement ( string $name , string $value ) 廣
16、州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !添加節(jié)點(diǎn)lDOMNode DOMNode:appendChild ( DOMNode $newnode ) 廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !刪除節(jié)點(diǎn)lDOMNode DOMNode:removeChild ( DOMNode $oldnode ) 廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !保存lstring DOMDocument:saveXML 字符串保存方法,參見官方手冊(cè)lint DOMDocument:save ( string $filename
17、) 廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !更新節(jié)點(diǎn)lDOMNode DOMNode:replaceChild ( DOMNode $newnode , DOMNode $oldnode ) 廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !添加屬性lDOMAttr DOMElement:setAttribute( string $name , string $value ) 廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !修改屬性lDOMAttr DOMElement:setAttribute( string $n
18、ame , string $value ) 廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !刪除屬性lbool DOMElement:removeAttribute ( string $name )廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !獲取屬性lstring DOMElement:getAttribute ( string $name )廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !廣州傳智播客教育 SimpleXML高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !讀取XMLlsimpleXMLEleme
19、nt simplexml_load_file ( string $filename)lSimpleXMLElement:_construct ( string data)廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !獲取子節(jié)點(diǎn)lpublic SimpleXMLElement SimpleXMLElement:children()廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !添加節(jié)點(diǎn)lpublic SimpleXMLElement SimpleXMLElement:addChild ( string $name , string $value )廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !添加屬性lpublic void SimpleXMLElement:addAttribute ( string $name , string $value , string $namespace )廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !保存XMLlpublic mixed SimpleXMLElement:asXML ( string $filename )廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !XpathlXPath是一門在
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《膽結(jié)石的診斷》課件
- 轉(zhuǎn)租走公寓合同協(xié)議
- 車庫預(yù)售買賣合同協(xié)議
- 超市餐具供貨合同協(xié)議
- 連鎖酒店加盟合同協(xié)議
- 現(xiàn)代汽車技術(shù)發(fā)展趨勢(shì)與智能化應(yīng)用練習(xí)題
- 專業(yè)咨詢與培訓(xùn)服務(wù)協(xié)議書
- 返聘協(xié)議和勞動(dòng)合同
- 三人合伙做生意合同
- 技術(shù)服務(wù)費(fèi)協(xié)議書
- 籃球智慧樹知到期末考試答案章節(jié)答案2024年浙江大學(xué)
- 多圖中華民族共同體概論課件第十一講 中華一家與中華民族格局底定(清前中期)根據(jù)高等教育出版社教材制作
- 2013年高考安徽理科數(shù)學(xué)試題及答案(word解析版)
- 商超零售路在何方
- 生態(tài)修復(fù)施工組織設(shè)計(jì)
- 道路堆場(chǎng)施工方案
- 河南省普通高校招生考生體格檢查表
- 大連市住宅室內(nèi)裝修合同范本
- 公司組織架構(gòu)圖模板可編輯
- 施工現(xiàn)場(chǎng)安全管理網(wǎng)絡(luò)圖(共1頁)
- 代理費(fèi)監(jiān)理費(fèi)費(fèi)用計(jì)算工具(Excel)自帶公式
評(píng)論
0/150
提交評(píng)論