




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(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)記語(yǔ)言l用于標(biāo)記電子文件使其具有結(jié)構(gòu)性的標(biāo)記語(yǔ)言,可以用來(lái)標(biāo)記數(shù)據(jù),定義數(shù)據(jù)類型,允許用戶對(duì)自己的標(biāo)記語(yǔ)言進(jìn)行定義的源語(yǔ)言。廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !XML XML 與與 HTML HTML 的主要差異的主要差異lhtml標(biāo)簽不能自定義,從標(biāo)簽上不能達(dá)到“見(jiàn)詞知意”的目的lhtml將數(shù)據(jù)與格式綁定在一起l不同瀏
3、覽器解html不同lhtml語(yǔ)法要求不嚴(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ù)庫(kù)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需要先使用文檔聲明來(lái)聲明XML文檔l最簡(jiǎn)單的語(yǔ)法:
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只能以字母或下劃線開(kāi)頭;l不能
5、以xml(或XML、Xml等)開(kāi)頭l名稱字符之間不能有空格或制表符;l名稱字符之間不能使用冒號(hào)廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !元素屬性l一個(gè)元素可以有多個(gè)屬性l屬性值一定要用引號(hào)(單引號(hào)或雙引號(hào))引起來(lái)l屬性名稱的命名規(guī)范與元素的命名規(guī)范相同l元素中的屬性是不允許重復(fù)的l標(biāo)簽屬性所代表的信息也可以被改成用子元素的形式來(lái)描述廣州傳智播客教育 高級(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ì)把它解釋為新元素的開(kāi)始。廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !CDATA區(qū)段lCDATA:Character Datal作用:把標(biāo)簽當(dāng)做普通文本內(nèi)容l語(yǔ)法:廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !處理指令PIl作用:用來(lái)指揮軟件如何解析XML文檔。l語(yǔ)法:必須以“”作為結(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è)文檔來(lái)約束一個(gè)XML的書寫規(guī)范,這個(gè)文檔稱之為約束l約束文檔定義了在XML中允許出現(xiàn)的元素名稱、屬性及元素出現(xiàn)的順序等等。l格式良好的XML:遵循XML語(yǔ)法的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語(yǔ)法:ll例:l廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !公用DTDl語(yǔ)法:ll例:l廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !DTD語(yǔ)法l定義元素l定義屬性l定義實(shí)體廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !定義元素l語(yǔ)法: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語(yǔ)法: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í)通過(guò)這個(gè)名稱就可以引用其所代表的內(nèi)容l引用實(shí)體l參數(shù)實(shí)體廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !使用引用實(shí)體l定義語(yǔ)法:l l引用語(yǔ)法:l&
12、amp;實(shí)體名; < > ©l注:DTD中定義,XML使用廣州傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !使用參數(shù)實(shí)體l定義語(yǔ)法:l l引用語(yǔ)法: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 字符串保存方法,參見(jiàn)官方手冊(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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《頸椎病課件》課件
- 我會(huì)排隊(duì)-幼兒園托班安全教育
- 安全教育體系標(biāo)準(zhǔn)化建設(shè)
- 2025年1月工業(yè)分析與檢驗(yàn)試題+參考答案解析
- 2024年1+x智能網(wǎng)聯(lián)模考試題+答案(附解析)
- 1+x網(wǎng)店推廣模考試題含答案(附解析)
- 《深入解讀安全生產(chǎn)禁令》課件
- 電機(jī)遠(yuǎn)程控制考核試卷
- 腈綸纖維在汽車內(nèi)飾中的應(yīng)用考核試卷
- 豬肉食品安全管理制度
- 酒館入股合同協(xié)議書
- 品質(zhì)主管面試題及答案
- 基于核心素養(yǎng)下的高中數(shù)學(xué)情境教學(xué)研究
- 《阿里巴巴招聘案例》課件
- 福建省三明市2025年普通高中高三畢業(yè)班五月質(zhì)量檢測(cè)語(yǔ)文(三明四檢)
- 中國(guó)精神課件
- 2025年福建福州市電子信息集團(tuán)有限公司招聘筆試參考題庫(kù)附帶答案詳解
- 2024年甘南州臨潭縣衛(wèi)生健康系統(tǒng)引進(jìn)緊缺衛(wèi)生專業(yè)技術(shù)人才真題
- 成都市公共交通集團(tuán)有限公司招聘筆試真題2024
- 天津市和平區(qū)二十中學(xué)2025屆學(xué)業(yè)水平考試化學(xué)試題模擬卷(九)含解析
- 2025高中英語(yǔ)電子版單選題100道及答案
評(píng)論
0/150
提交評(píng)論