自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

關于PHP工具包expat解析XML揭秘

開發(fā) 后端
文章詳細的介紹了PHP工具包expat解析XML,PHP是在magic quotes設置啟用的情況下編譯而成,那么復雜的XML文件不會得到正確的解析。

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

#T#答案是用動態(tài)內(nèi)容處理語言來解析XML,比如用PHP或者Perl等,從理論上說,這類程序語言是可以出于各種目的利用XML的。無非是采用一些能解析XML的工具包而已。James Clark就提供了一種名叫expat的工具包。expat XML工具包用C語言解析XML,令PHP與XML輕松共舞。PHP是一種專為Web設計的絕佳腳本語言。XML是表示W(wǎng)eb內(nèi)容的標準。兩者聯(lián)手真是要多美有多美!

下面我會給讀者演示一個簡單的示例,通過這個例子即可說明如何用PHP工具包把XML文檔解析為HTML。然后我會介紹一些PHP的其他XML概念。用PHP工具包解析 XML很簡單,操作起來很直觀但卻需要對細節(jié)有所解釋。一旦真正掌握了應用的要領,你肯定會驚奇自己怎么不早想到把它們倆攏一塊兒來。

概述

PHP 用expat這種XML工具包,通過C語言來解析XML。這個工具包的函數(shù)集同Perl XML解析所采用的函數(shù)集是一樣的,此外,這種工具包還是事件驅動型的解析器。這就是說,expat把每個XML標簽或者新一行代碼當作事件的起始,而事件就是函數(shù)的觸發(fā)器。Expat的安裝非常簡單,如果你正在用著Apache Web服務器,那么你可以在PHP XML參考頁上找到安裝和下載指南。

用PHP解析XML的基本任務是這樣的:首先,創(chuàng)建XML解析器的一個實例。接著,定義處理觸發(fā)事件的函數(shù),比如開始或者結束標簽等。隨后,定義實際意義的數(shù)據(jù)處理程序。最后,打開XML文件,讀取文件數(shù)據(jù)并解析數(shù)據(jù)。之后關閉文件釋放XML解析器。

你瞧,就像我說的那樣,這套操作過程沒什么特別的。不過,在我們討論具體的示例之前先了解以下的一些警示:Expat不對XML進行檢驗。這意味著只要XML文件格式正確——所有的元素嵌套得當、開始和關閉標簽沒有任何錯誤——它就會被解析。Expat可不管XML是否遵守XML文件頭中引用的標準或者定義。Expat把XML標簽全部轉換為大寫字母。如果你的腳本在標簽名和其他內(nèi)容上大小寫字母混用可就要小心了。PHP是在magic quotes設置啟用的情況下編譯而成,那么復雜的XML文件不會得到正確的解析。要是magic quotes不是默認設置,你就當我沒說。

基本示例

為了把復雜的事情簡單化,我在例子中省略了錯誤檢查和其他一些不必要的東西,當然,你可以在自己的代碼隨心所欲。我假定你早就熟悉PHP及其語法,而我會對 XML函數(shù)做一番解釋。首先我會說明腳本程序的含義,接著定義用戶定義函數(shù),實際上這些函數(shù)位于引用它們的代碼之前。相關附件:程序清單A 所示為腳本的完整代碼,腳本要解析的XML文檔則是 相關附件:程序清單B。處理之后的輸出結果如表A所示。

  1. XML Articles  
  2. "Remedial XML for programmers: Basic syntax"              
  3. In this first installment in a three-part series,   
  4. I'll introduce you to XML and its basic syntax.  
  5. "Remedial XML: Enforcing document formats with DTDs"              
  6. To enforce structure requirements for an XML document, you have to turn to one of XML's attendant technologies, data type definition (DTD).  
  7. "Remedial XML: Using XML Schema"              
  8. In this article, we'll briefly touch on the shortcomings of DTDs and discuss the basics of a newer, more powerful standard: XML Schemas.  
  9. "Remedial XML: Say hello to DOM"              
  10. Now it's time to put on your programmer's hat and get acquainted with Document Object Model (DOM),   
  11. which provides easy access to XML documents via a tree-like set of objects.  
  12. "Remedial XML: Learning to play SAX"              
  13. 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. 


 

責任編輯:田樹 來源: 博客
相關推薦

2016-08-12 09:33:38

2009-04-02 17:37:38

dom4jXMLJava

2023-10-05 11:12:06

JUCUnsafe安全

2018-05-03 09:03:16

微軟工具包Windows

2009-06-18 15:42:15

J2EE架構

2011-02-22 14:10:25

PHPXML

2011-04-18 09:46:58

Windows工具包活動目錄MPS報告

2020-02-10 16:07:42

工具包

2009-09-16 08:34:17

Windows Emb

2009-11-16 16:54:00

PHP構造函數(shù)

2009-04-03 11:12:43

PalmwebOS開發(fā)

2023-02-15 08:26:29

iOS工具

2010-05-28 15:35:16

ibmdw系統(tǒng)架構

2012-05-14 17:22:38

ibmdw

2009-07-31 16:38:50

ibmdwRational

2009-04-03 08:36:53

PalmWebOSsdk

2025-01-17 08:39:14

RAGPython工具包

2010-02-23 10:04:16

Silverlight

2009-01-03 15:11:05

ibmdwLinux

2015-03-18 13:23:23

點贊
收藏

51CTO技術棧公眾號