首页博客网络编程
使用 PHP DOMDocument:代码示例说明
摘要 使用 DOM 库,您可以处理 XML 和 HTML 文档。 DOM 代表文档对象模型,属于基于树的 XML 解析器。 它的功能内置在PHP中。

PHP DOM 库允许您在将脚本上传到新的 PHP DOMDocument 后管理 HTML 和 XML。解析是一个重要的概念,指的是将源代码更改为更易于阅读的格式。

对于读取和更改HTML和XML,DOM库是最好的选择,因为它是与某些PHP版本一起自动构建的。

内容

PHP DOMDocument:主要提示

  • 名为 DOM 的 XML 数据解析器允许您在 PHP 代码中操作 XML 脚本。

  • DOM 是一个基于树的解析器(与基于事件的 XML 解析器相反)。

XML 数据:基于树的结构示例

为了了解 DOM 如何查看 XML 数据,让我们分析以下代码示例:

复制

<?xml version="1.0" encoding="UTF-8"?><from>Me</from>

如 DOM 所示,XML 数据具有树型结构:

  • XML 文档本身是级别 1。

  • 根元素是级别 2。<from>

  • 文本元素为 ,即级别 3。Me

多姆存储属性

以下属性可以帮助您查找有关 XML 文档的信息:

财产描述
实际编码荒废的。它是一个只读属性,表示文档的编码。
配置荒废的。当调用 DOMDocument::normalizeDocument() 时,此配置属性适用。
文档类型表示与文档相关的文档类型声明。
文档元素提供对文档中子节点的直接访问。
文档URI表示文档位置。如果未找到位置,则返回 NULL。
编码表示由 XML 声明指示的文档编码。
格式输出帮助使用必要的空格和缩进来组织输出。
实现表示管理文档的 DOMImplementation 对象。
保留空白指定不删除多余的空格。
恢复专有。打开恢复模式。此属性不是来自 DOM 文档,而是来自 libxml。
解析外部设置为 TRUE 时,此属性从文档类型声明加载外部实体。在 XML 文档中添加字符很方便。
独立荒废的。指示文档是否独立。与 xmlStandalone 相同。
严格错误检查检测到错误时显示 DOMException。
替代实体专有。指示是否应替换实体。它不是 DOM 规范的一部分,并且是 libxml 独有的。
validateOnParse用于针对 DTD 进行加载和验证。
版本荒废的。表示 XML 版本。与 xmlVersion 相同。
xml编码指示 XML 文档的编码。找不到编码时的 NULL。
xml独立指示 XML 文档是否独立。如果找不到此信息,则为 FALSE。
xml版本指示 XML 文档的版本号。如果未找到声明,但文档支持 XML,则版本为 1.0。

解析代码示例

在下面的示例中,我们将使用一个名为 note.xml 的 XML 文档:

复制

<?xml version="1.0" encoding="UTF-8"?><note>
  <to>You</to>
  <from>Me</from>
  <heading>The Game</heading>
  <body>You lost it.</body></note>

如何加载和输出 XML 数据

这是初始化 XML 解析器所需的脚本。

复制

<?php
  $xml_doc = new DOMDocument();
  $xml_doc->load('node.xml');  print $xml_doc->saveXML();?>

下面是此代码示例的步骤:

  1. 我们创建一个新的 XML DOM 文档。

  2. 我们使用函数将 XML 数据加载到对象中。load

  3. 我们打印来自我们创建的 XML DOMDocument 的信息。

注意:通过使用名为saveXML()的函数,我们将内部XML数据放入数据字符串中。然后,它将准备好显示。

我们得到以下输出:

Me You The Game You lost it.

如果您尝试在浏览器中选择“查看源代码”,将显示一个 HTML 文本:

复制

<?xml version="1.0" encoding="UTF-8"?><note>
  <to>You</to>
  <from>Me</from>
  <heading>The Game</heading>
  <body>You lost it.</body></note>

在 XML 文件中执行循环

要初始化 PHP XML 解析器,访问数据然后迭代,您应该应用 foreach 循环

复制

<?php
  $xml_doc = new DOMDocument();
  $xml_doc->load('note.xml');

  $i = $xml_doc->documentElement;  foreach ($i->childNodes AS $item) {    print $item->nodeName . " = " . $item->nodeValue . "<br>";
  }?>

此代码示例遵循相同的步骤:它创建一个新的 XML DOM 文档,其中包含 note.xml 文件中的数据。然后,我们申请打印和.foreachnodeNamenodeValue

这是我们在这种情况下得到的输出:

复制

#text = from = Me#text = to = You#text = heading = The Game#text = body = You lost it#text =

注意:请注意,在我们的示例中还剩下一些空白。请记住,XML DOMDocument 可能会将这些元素作为元素并导致问题。

学习使 PHP 解析 HTML

你应该学习创建PHP DOMDocuments来修改HTML脚本。下面的代码示例演示如何创建包含 HTML 的 PHP DOMDocument:

复制

<?php$doc = new DOMDocument();
$doc->loadHTML("<html><body>Example<br></body></html>");echo $doc->saveHTML();?>

PHP DOMDocument: 摘要

  • 使用 DOM 库,您可以处理 XML 和 HTML 文档。

  • DOM 代表文档对象模型,属于基于树的 XML 解析器。

  • 它的功能内置在PHP中。


声明提示:若要转载请务必保留原文链接,申明来源,谢谢合作!

本文链接:https://www.gaoxuejun173.top/blog/200

广告位

本文配乐
来说两句吧

该文章已禁止评论

最新评论

广告位