當前位置:
首頁 > 知識 > PHP 編程XML DOM

PHP 編程XML DOM

內建的 DOM 解析器使在 PHP 中處理 XML 文檔成為可能。



PHP 編程XML DOM

DOM 是什麼?

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 教程。



PHP 編程XML DOM

XML 解析

如需讀取和更新 - 創建和處理 - 一個 XML 文檔,您需要 XML 解析器。

有兩種基本的 XML 解析器類型:

  • 基於樹的解析器:這種解析器把 XML 文檔轉換為樹型結構。它分析整篇文檔,並提供了對樹中元素的訪問,例如文檔對象模型 (DOM)。

  • 基於時間的解析器:將 XML 文檔視為一系列的事件。當某個具體的事件發生時,解析器會調用函數來處理。

DOM 解析器是基於樹的解析器。

請看下面的 XML 文檔片段:

<?xml version="1.0" encoding="ISO-8859-1"?>

<from>Jani</from>

XML DOM 把上面的 XML 視為一個樹形結構:

  • Level 1: XML 文檔

  • Level 2: 根元素: <from>

  • Level 3: 文本元素: "Jani"


安裝

DOM XML 解析器函數是 PHP 核心的組成部分。無需安裝就可以使用這些函數。


PHP 編程XML DOM

XML 文件

下面的 XML 文件將應用在我們的實例中:

<?xml version="1.0" encoding="ISO-8859-1"?>

<note>

<to>Tove</to>

<from>Jani</from>

<heading>Reminder</heading>

<body>Don"t forget me this weekend!</body>

</note>


載入和輸出 XML

我們需要初始化 XML 解析器,載入 XML,並把它輸出:

實例

<?php

$xmlDoc = new DOMDocument();

$xmlDoc->load("note.xml");

print $xmlDoc->saveXML();

?>

以上代碼將輸出:

ToveJaniReminder Don"t forget me this weekend!

如果您在瀏覽器窗口中查看源代碼,會看到下面的 HTML:

<?xml version="1.0" encoding="ISO-8859-1"?>

<note>

<to>Tove</to>

<from>Jani</from>

<heading>Reminder</heading>

<body>Don"t forget me this weekend!</body>

</note>

上面的實例創建了一個 DOMDocument-Object,並把 "note.xml" 中的 XML 載入這個文檔對象中。

saveXML() 函數把內部 XML 文檔放入一個字元串,這樣我們就可以輸出它。


遍歷 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 = Tove

#text =

from = Jani

#text =

heading = Reminder

#text =

body = Don"t forget me this weekend!

#text =

在上面的實例中,您看到了每個元素之間存在空的文本節點。

當 XML 生成時,它通常會在節點之間包含空白。XML DOM 解析器把它們當作普通的元素,如果您不注意它們,有時會產生問題。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序員小新人學習 的精彩文章:

PHP編程 MySQL Update
PHP編程 MySQL Delete
PHP 資料庫 ODBC
PHP 創建 MySQL 表
PHP MySQL 插入數據

TAG:程序員小新人學習 |

您可能感興趣

PHP 解析 XML
PHP程序的JSON
PHP PDO 簡單教程
Web Pages 編程 PHP
PHP 第一個PHP程序
使用PHP編寫HTTP伺服器
PHPRAP 1.0.0 發布,打造PHP版API介面管理系統!
PHP-Beast 加密你的PHP源代碼
追月,Linux雲伺服器編譯安裝最新Apache、PHP和MySQL
幾張圖為你分析HTML、JS與PHP之間的數據傳輸
Docker 安裝 PHP
最新的PHP操作MongoDB增刪改查操作匯總
啟用PHP程序
PHP 使用 Redis
PHP MySql 分頁實例
系統學習PHP之API介面
Linux部署Nginx+Mysql+PHP+PHPMyAdmin4環境
PHP HTTP客戶端-Guzzle原理解析
Redis的PHP操作手冊
TIOBE 4 月編程語言排行榜:Python 讓位,老將 C+奪回前三,PHP 慘遭拋棄!