新聞中心
PHP隨著發(fā)展,功能也在強(qiáng)大,文章介紹主要介紹PHP工具包的作用,希望可以給大家?guī)?lái)幫助。如今人人鼓吹XML是Web開(kāi)發(fā)者最好的朋友,有了XML的幫忙,后者即可輕松地格式化和顯示來(lái)自幾乎任何數(shù)據(jù)源的數(shù)據(jù)。但是,對(duì)動(dòng)態(tài)內(nèi)容而言,格式優(yōu)良的數(shù)據(jù)卻還遠(yuǎn)遠(yuǎn)談不上達(dá)到理想狀態(tài)。大多數(shù)的Web開(kāi)發(fā)者都會(huì)告訴你,今天的網(wǎng)絡(luò)上沒(méi)有動(dòng)態(tài)內(nèi)容怎么能行!問(wèn)題是:“到底該如何用XML創(chuàng)建動(dòng)態(tài)內(nèi)容呢?”

成都創(chuàng)新互聯(lián)服務(wù)緊隨時(shí)代發(fā)展步伐,進(jìn)行技術(shù)革新和技術(shù)進(jìn)步,經(jīng)過(guò)十余年的發(fā)展和積累,已經(jīng)匯集了一批資深網(wǎng)站策劃師、設(shè)計(jì)師、專(zhuān)業(yè)的網(wǎng)站實(shí)施團(tuán)隊(duì)以及高素質(zhì)售后服務(wù)人員,并且完全形成了一套成熟的業(yè)務(wù)流程,能夠完全依照客戶(hù)要求對(duì)網(wǎng)站進(jìn)行成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、建設(shè)、維護(hù)、更新和改版,實(shí)現(xiàn)客戶(hù)網(wǎng)站對(duì)外宣傳展示的首要目的,并為客戶(hù)企業(yè)品牌互聯(lián)網(wǎng)化提供全面的解決方案。
#T#答案是用動(dòng)態(tài)內(nèi)容處理語(yǔ)言來(lái)解析XML,比如用PHP或者Perl等,從理論上說(shuō),這類(lèi)程序語(yǔ)言是可以出于各種目的利用XML的。無(wú)非是采用一些能解析XML的工具包而已。James Clark就提供了一種名叫expat的工具包。expat XML工具包用C語(yǔ)言解析XML,令PHP與XML輕松共舞。PHP是一種專(zhuān)為Web設(shè)計(jì)的絕佳腳本語(yǔ)言。XML是表示W(wǎng)eb內(nèi)容的標(biāo)準(zhǔn)。兩者聯(lián)手真是要多美有多美!
下面我會(huì)給讀者演示一個(gè)簡(jiǎn)單的示例,通過(guò)這個(gè)例子即可說(shuō)明如何用PHP工具包把XML文檔解析為HTML。然后我會(huì)介紹一些PHP的其他XML概念。用PHP工具包解析 XML很簡(jiǎn)單,操作起來(lái)很直觀(guān)但卻需要對(duì)細(xì)節(jié)有所解釋。一旦真正掌握了應(yīng)用的要領(lǐng),你肯定會(huì)驚奇自己怎么不早想到把它們倆攏一塊兒來(lái)。
概述
PHP 用expat這種XML工具包,通過(guò)C語(yǔ)言來(lái)解析XML。這個(gè)工具包的函數(shù)集同Perl XML解析所采用的函數(shù)集是一樣的,此外,這種工具包還是事件驅(qū)動(dòng)型的解析器。這就是說(shuō),expat把每個(gè)XML標(biāo)簽或者新一行代碼當(dāng)作事件的起始,而事件就是函數(shù)的觸發(fā)器。Expat的安裝非常簡(jiǎn)單,如果你正在用著Apache Web服務(wù)器,那么你可以在PHP XML參考頁(yè)上找到安裝和下載指南。
用PHP解析XML的基本任務(wù)是這樣的:首先,創(chuàng)建XML解析器的一個(gè)實(shí)例。接著,定義處理觸發(fā)事件的函數(shù),比如開(kāi)始或者結(jié)束標(biāo)簽等。隨后,定義實(shí)際意義的數(shù)據(jù)處理程序。最后,打開(kāi)XML文件,讀取文件數(shù)據(jù)并解析數(shù)據(jù)。之后關(guān)閉文件釋放XML解析器。
你瞧,就像我說(shuō)的那樣,這套操作過(guò)程沒(méi)什么特別的。不過(guò),在我們討論具體的示例之前先了解以下的一些警示:Expat不對(duì)XML進(jìn)行檢驗(yàn)。這意味著只要XML文件格式正確——所有的元素嵌套得當(dāng)、開(kāi)始和關(guān)閉標(biāo)簽沒(méi)有任何錯(cuò)誤——它就會(huì)被解析。Expat可不管XML是否遵守XML文件頭中引用的標(biāo)準(zhǔn)或者定義。Expat把XML標(biāo)簽全部轉(zhuǎn)換為大寫(xiě)字母。如果你的腳本在標(biāo)簽名和其他內(nèi)容上大小寫(xiě)字母混用可就要小心了。PHP是在magic quotes設(shè)置啟用的情況下編譯而成,那么復(fù)雜的XML文件不會(huì)得到正確的解析。要是magic quotes不是默認(rèn)設(shè)置,你就當(dāng)我沒(méi)說(shuō)。
基本示例
為了把復(fù)雜的事情簡(jiǎn)單化,我在例子中省略了錯(cuò)誤檢查和其他一些不必要的東西,當(dāng)然,你可以在自己的代碼隨心所欲。我假定你早就熟悉PHP及其語(yǔ)法,而我會(huì)對(duì) XML函數(shù)做一番解釋。首先我會(huì)說(shuō)明腳本程序的含義,接著定義用戶(hù)定義函數(shù),實(shí)際上這些函數(shù)位于引用它們的代碼之前。相關(guān)附件:程序清單A 所示為腳本的完整代碼,腳本要解析的XML文檔則是 相關(guān)附件:程序清單B。處理之后的輸出結(jié)果如表A所示。
- XML Articles
- "Remedial XML for programmers: Basic syntax"
- In this first installment in a three-part series,
- I'll introduce you to XML and its basic syntax.
- "Remedial XML: Enforcing document formats with DTDs"
- To enforce structure requirements for an XML document, you have to turn to one of XML's attendant technologies, data type definition (DTD).
- "Remedial XML: Using XML Schema"
- In this article, we'll briefly touch on the shortcomings of DTDs and discuss the basics of a newer, more powerful standard: XML Schemas.
- "Remedial XML: Say hello to DOM"
- Now it's time to put on your programmer's hat and get acquainted with Document Object Model (DOM),
- which provides easy access to XML documents via a tree-like set of objects.
- "Remedial XML: Learning to play SAX"
- In this fifth installment in our Remedial XML series, I'll introduce you to the SAX API and provide some links to
SAX implementations in several languages.
當(dāng)前標(biāo)題:關(guān)于PHP工具包expat解析XML揭秘
瀏覽路徑:http://fisionsoft.com.cn/article/cdsocge.html


咨詢(xún)
建站咨詢(xún)
