当前位置: 首页> 最新文章列表> PHP DOMDocument 类使用教程:高效处理 HTML 和 XML 文档

PHP DOMDocument 类使用教程:高效处理 HTML 和 XML 文档

gitbox 2025-06-28

PHP DOMDocument 类使用教程

在 PHP 中,DOMDocument 类为开发者提供了强大的工具来处理 HTML 和 XML 文档。通过它,我们能够高效地解析、修改和生成文档内容。本文将带你详细了解如何使用 DOMDocument 类加载、操作和保存 HTML 与 XML 文档。

创建 DOMDocument 对象

使用 DOMDocument 类时,首先需要实例化一个 DOMDocument 对象,这样才能操作文档内容。


$dom = new DOMDocument();

实例化后,我们可以加载 HTML 或 XML 文档进行后续操作。

加载 HTML 或 XML 文档

DOMDocument 提供了多个方法来加载 HTML 或 XML 文档,包括:

  • loadHTML():从字符串加载 HTML 文档。
  • loadHTMLFile():从文件加载 HTML 文档。
  • load():根据文档类型自动选择加载方法。

以下是从字符串加载 HTML 文档的示例:


$html = "<html><body><p>Hello, World!</p></body></html>";
$dom->loadHTML($html);

你也可以从文件中加载 HTML 文档:


$dom->loadHTMLFile('example.html');

或者根据文件类型自动加载:


$dom->load('example.xml');

导航和操作文档

加载文档后,我们可以通过 DOMDocument 提供的一些方法来操作文档的内容。以下是一些常见的操作方法:

  • getElementsByTagName():根据标签名获取元素。
  • createElement():创建一个新的元素节点。
  • appendChild():将节点添加为父节点的子节点。
  • removeChild():从父节点中删除子节点。

例如,获取所有段落元素:


$paragraphs = $dom->getElementsByTagName('p');
foreach ($paragraphs as $paragraph) {
  echo $paragraph->nodeValue;
}

创建新的标题元素并将其添加到文档中:


$newElement = $dom->createElement('h2', 'New Heading');
$parentElement->appendChild($newElement);

删除一个节点:


$parentElement->removeChild($childElement);

生成 HTML 或 XML 文档

完成对文档的操作后,我们可以将修改后的文档导出为 HTML 或 XML 格式。常用的方法有:

  • saveHTML():将 DOMDocument 对象转换为 HTML 字符串。
  • saveHTMLFile():将 DOMDocument 对象保存到 HTML 文件。
  • save():根据文档类型自动选择保存方法。

将文档转换为 HTML 字符串:


$htmlString = $dom->saveHTML();

将文档保存为 HTML 文件:


$dom->saveHTMLFile('output.html');

或者保存为 XML 文件:


$dom->save('output.xml');

总结

PHP 的 DOMDocument 类提供了强大的功能来处理 HTML 和 XML 文档。通过它,我们可以方便地加载、导航、修改以及生成文档内容。无论是解析 HTML 页面还是操作 XML 文件,DOMDocument 都是一个非常实用的工具。