內建的 DOM 解析器使在 PHP 中處理 XML 文檔成為可能。
成都創新互聯是專業的科爾沁網站建設公司,科爾沁接單;提供網站制作、網站建設,網頁設計,網站設計,建網站,PHP網站建設等專業做網站服務;采用PHP框架,可快速的進行科爾沁網站開發網頁制作和功能擴展;專業做搜索引擎喜愛的網站,專業的做網站團隊,希望更多企業前來合作!
W3C DOM 提供了針對 HTML 和 XML 文檔的標準對象集,以及用于訪問和操作這些文檔的標準接口。
W3C DOM 被分為不同的部分 (Core, XML 和 HTML) 和不同的級別 (DOM Level 1/2/3):
Core DOM - 為任何結構化文檔定義標準的對象集XML DOM - 為 XML 文檔定義標準的對象集HTML DOM - 為 HTML 文檔定義標準的對象集如果您希望學習更多有關 XML DOM 的知識,請訪問我們的 XML DOM 教程。
如需讀取和更新 - 創建創建并處理 - 一個 XML 文檔,您需要 XML 解析器。
有兩種基本的 XML 解析器類型:
基于樹的解析器:這種解析器把 XML 文檔轉換為樹型結構。它分析整篇文檔,并提供了 API 來訪問樹種的元素,例如文檔對象模型 (DOM)。基于事件的解析器:將 XML 文檔視為一系列的事件。當某個具體的事件發生時,解析器會調用函數來處理。DOM 解析器是基于樹的解析器。
請看下面的 XML 文檔片段:
<?xml version="1.0" encoding="ISO-8859-1"?><from>John</from>XML DOM 把 XML 視為一個樹形結構:
Level 1: XML 文檔Level 2: 根元素: <from>Level 3: 文本元素: "John"DOM XML 解析器函數是 PHP 核心的組成部分。無需安裝就可以使用這些函數。
將在我們的例子中使用下面的 XML 文件:
<?xml version="1.0" encoding="ISO-8859-1"?><note><to>George</to><from>John</from><heading>Reminder</heading><body>Don't forget the meeting!</body></note>我們需要初始化 XML 解析器,加載 XML,并把它輸出:
例子 <?php$xmlDoc = new DOMDocument();$xmlDoc->load("note.xml");print $xmlDoc->saveXML();?>以上代碼的輸出:
George John Reminder Don't forget the meeting!假如您在瀏覽器窗口中查看源代碼,會看到下面這些 HTML:
<?xml version="1.0" encoding="ISO-8859-1"?><note><to>George</to><from>John</from><heading>Reminder</heading><body>Don't forget the meeting!</body></note>上面的例子創建了一個 DOMDocument-Object,并把 "note.xml" 中的 XML 載入這個文檔對象中。
saveXML() 函數把內部 XML 文檔放入一個字符串,這樣我們就可以輸出它。
我們要初始化 XML 解析器,加載 XML,并循環 <note> 元素的所有元素:
例子 <?php$xmlDoc = new DOMDocument();$xmlDoc->load("note.xml");$x = $xmlDoc->documentElement;foreach ($x->childNodes AS $item) { print $item->nodeName . " = " . $item->nodeValue . "<br />"; }?>以上代碼的輸出:
#text = to = George#text = from = John#text = heading = Reminder#text = body = Don't forget the meeting!#text =在上面的例子中,您看到了每個元素之間存在空的文本節點。
當 XML 生成時,它通常會在節點之間包含空白。XML DOM 解析器把它們當作普通的元素,如果您不注意它們,有時會產生問題。
如果您希望學習更多有關 XML DOM 的知識,請訪問我們的 XML DOM 教程。
分享標題:PHPXMLDOM-5.2PHPXML
瀏覽地址:http://m.newbst.com/article41/dghhoed.html
成都網站建設公司_創新互聯,為您提供網頁設計公司、品牌網站制作、虛擬主機、小程序開發、網站改版、網站維護
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯