PHP DOM 擴展是 PHP 的一個非常重要的擴展,它提供了一個操作 HTML 和 XML 文檔的 API。本文將簡要介紹 PHP DOM 擴展的基本使用方法和實例。
PHP DOM 擴展提供了三個核心類:DOMDocument、DOMNode 和 DOMElement。DOMDocument 類是該擴展的主要類,它代表整個文檔對象模型(DOM)。例如,我們創建一個新的 DOMDocument 對象,讀取一個 XML 文件并檢索一些元素:
$doc = new DOMDocument(); $doc->load('books.xml'); $books = $doc->getElementsByTagName('book'); foreach ($books as $book) { $authors = $book->getElementsByTagName('author'); $author = $authors->item(0)->nodeValue; echo "{$author}
"; }
上述代碼中,我們使用 DOMDocument 類的實例 $doc 來代表整個文檔對象模型(DOM)。load 方法用于讀取一個 XML 文件,而 getElementsByTagName 方法將返回包含所有書籍節點的 NodeList 實例。然后,我們循環遍歷 NodeList 并為每本書提取第一個作者。
同時,我們還可以使用 DOMXPath 類來選擇節點。例如,我們可以使用 XPath 表達式來選擇所有價格大于 10 的書籍元素,如下所示:
$xpath = new DOMXPath($doc); $books = $xpath->query('//book[price >10]'); foreach ($books as $book) { $title = $book->getElementsByTagName('title'); echo "{$title->item(0)->nodeValue}
"; }
上述代碼中,我們創建了一個新的 DOMXPath 對象 $xpath 并使用 XPath 查詢所有價格大于 10 的書籍元素的節點列表。然后,我們循環遍歷 NodeList 并為每個書提取標題。
此外,我們還可以使用 DOMElement 類來創建和操作 DOM 元素。例如,我們可以創建一個新的元素并將其添加到 DOM 樹中:
$root = $doc->documentElement; $new = $doc->createElement('book'); $new->setAttribute('id', '4'); $title = $doc->createElement('title', 'The Lord of the Rings'); $price = $doc->createElement('price', '20'); $new->appendChild($title); $new->appendChild($price); $root->appendChild($new);
上述代碼中,我們首先獲取文檔的根元素 $root,然后創建一個新的 DOMElement 對象 $new 并設置它的 id 屬性。接著,我們創建兩個新的元素 $title 和 $price,并將它們添加為 $new 的子元素。最后,我們將 $new 添加到文檔的根元素中。
PHP DOM 擴展提供了豐富的方法和類,可以輕松地操作和操作 DOM。上述示例只是 PHP DOM 擴展的冰山一角,讀者可以自己深入探索更多的用法和實例。