淺析多種PHP語(yǔ)法解析函數(shù)應(yīng)當(dāng)如何運(yùn)用
在PHP語(yǔ)言中,針對(duì)XML的PHP語(yǔ)法解析函數(shù)有很多種,那么在實(shí)際操作中,我們應(yīng)當(dāng)如何正確的運(yùn)用這些函數(shù)呢?光手冊(cè)中就有SimpleXML functions/DOM XML Functions/XML 語(yǔ)法解析函數(shù)庫(kù)/等等。#t#
pear中好像也有這種解析類(lèi),另外網(wǎng)上搜索一下php解析,還能找到各種各樣自己編寫(xiě)的php解析xml的類(lèi)。
DOM function 即文檔對(duì)象模型函數(shù),屬于比較底層的XML操作,跟C#的XML操作一樣,無(wú)論寫(xiě)還是讀一個(gè)XML要寫(xiě)比較多的代碼。
而PHP語(yǔ)法解析函數(shù)中的XML解析器(sax)則是高層點(diǎn)的函數(shù)庫(kù),要自己構(gòu)建3個(gè)函數(shù),而且要直接用這三的函數(shù)來(lái)返回?cái)?shù)據(jù),要求較強(qiáng)的邏輯。在處理不同結(jié)構(gòu)的 xml 的時(shí)候,還要重新進(jìn)行構(gòu)造這三個(gè)函數(shù)。這是很多用戶(hù)用得不舒服的地方。
很高手于是自己寫(xiě)了XML操作類(lèi),一般是sax和DOM的結(jié)合體,以解決DOM和SAX的不好的地方,適應(yīng)自身需求。
對(duì)xml的分析主要就是sax和dom方式,sax方式效率高,dom方式比較直觀,現(xiàn)在也更流行。
php庫(kù)里的PHP語(yǔ)法解析函數(shù)
dom / dom xml / simple xml 幾個(gè)庫(kù)都是基于dom的
xml parser是基于sax的
php的XML 語(yǔ)法解析函數(shù)是基于expat的xml通用接口函數(shù)集。DOM XML通過(guò)expat將xml文檔轉(zhuǎn)換成對(duì)象,以便于用戶(hù)將xml文檔以對(duì)象方式操作。SimpleXM 提供了一種高效的檢索xml文檔的方法。其他還有xslt、xpath等方法 。
根據(jù)需要可以隨意選用一種或幾種PHP語(yǔ)法解析函數(shù),沒(méi)有一定之規(guī)。