XML與PHP
??????由于XSLT還沒有被廣泛支持,所以人們必須采取其它辦法進行補充。PHP較早提供了對XML的支持,而且做得很不錯。在討論PHP之前,有必要了解服務器端腳本的概念。隨著Internet的發展,大量繁雜的信息與大量不同用戶之間的個性化需求令傳統靜態文本不堪重負。用戶只想以自己喜歡的方式查看需要的信息。而普通HTML文本無法滿足這一要求。這樣,就產生了類似于數據庫?服務器端腳本?客戶(代理)的數據模型。用戶向腳本提交自己的請求,由服務器端腳本向后臺數據庫發送相應的查詢,并將查詢結果進行一定的整理發送給用戶。這個過程對用戶是透明的,他們永遠只看見自己需要的數據,不必關心它如何生成,而且,服務器端腳本可以根據用戶的個人喜好,將同樣的查詢結果以完全不同的形式展現到用戶面前。?
??????PHP正是這樣一種工具。由于它的語法和C類似,非常簡練,又兼具Perl、ASP的優點,并擁有強大的文件、數據處理及數據庫訪問能力,而且具備跨平臺特性,很快便成為熱門的服務器端腳本。PHP作為用戶與數據間的橋梁,根據用戶的請求得到所需的數據,再以用戶要求的形式返回。?
目前版本的PHP能夠通過expat引擎提供對XML的支持,這是一個基于字節流的解析器。如果不敢確定,做一個只包含phpinfo()函數的PHP頁面,由WWW端口訪問它,看看其中的XML項是否有效。?
??????這樣,基于PHP在現代Web設計中的位置,它可以一方面方便、快速地解析后臺XML文檔,另一方面將純粹的HTML顯示到瀏覽器中,完全不用擔心瀏覽器是否支持XML,同時獲得了數據的完整性和可用性。而在此之前,不得不將數據轉換為HTML,或者用一大堆語句、正則表達式去提取HTML中一點點有用的東西。?
??????PHP首先通過xml_parser_create()函數建立一個XML文檔解析器,然后由這個解析器注冊三個回調函數,分別用于開始標記、結束標記和數據的解析。初始化工作完成后,開始讀取XML數據,并通過解析器進行解析。在讀取完所有的數據以后,才會釋放相關資源,并根據要求將數據賦給PHP變量,這樣,PHP就可以將XML文檔以完全不同的形態呈現到用戶面前。?
??????結果是XML中的數據依然完整,任何其它應用仍然可以“理解”這篇XML文檔,我們也可以用適當的方法大量輸出這類文檔,由PHP自動處理。更重要的是,不必擔心別人是否理解你的意圖,不會因為瀏覽器的不同而無法正常顯示。
?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????文章來源:
http://www.jspcn.net
posted on 2006-07-04 13:07
Black&White JavaWorld 閱讀(77)
評論(0) 編輯 收藏