`

PHP XML DOM

    博客分类:
  • PHP
阅读更多

内建的 DOM 解析器使在 PHP 中处理 XML 文档成为可能。

什么是 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 教程

XML 解析

如需读取和更新 - 创建创建并处理 - 一个 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 文件:

<?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 解析器,加载 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 解析器,加载 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 教程

分享到:
评论

相关推荐

    PHP100视频教程90:PHP DOM 创建生成多功能 XML文件

    **PHP100视频教程90:PHP DOM 创建生成多功能 XML文件** 在这一教程中,我们将深入探讨如何使用PHP的DOM扩展来创建和操作XML文件。XML(eXtensible Markup Language)是一种用于存储和传输数据的标准格式,它具有...

    Xtree: PHP XML DOM Library-开源

    **Xtree: PHP XML DOM Library 开源解析** Xtree是一个专为PHP设计的XML DOM(文档对象模型)库,由C语言编译实现,旨在提供高效、快速的XML处理能力。DOM是一种W3C标准,它允许程序和脚本动态地访问和更新XML文档...

    XMLDOM.rar_PHP DOM_数据批量处理

    XMLDOM.rar是一个与PHP DOM相关的压缩包,主要涉及如何使用PHP的DOM扩展来处理大量XML数据。PHP DOM(Document Object Model)是PHP中一个强大的工具,它允许开发者以树形结构解析XML文档,并能方便地对其进行修改、...

    用PHP读取和编写XML DOM

    【PHP读取和编写XML DOM】 XML是一种通用的数据存储格式,它定义了标记和属性,但不规定数据内容和格式。格式良好的XML文件需要有对称的标记和正确的字符编码。例如,XML文件可以用来表示图书列表,如清单1所示。 ...

    PHP读取和编写XMLDOM

    标题提到的“PHP读取和编写XMLDOM”是指使用PHP处理XML文档,特别是通过DOM库来操作XML。XML(可扩展标记语言)是一种用于存储和传输结构化数据的标准格式,它允许自定义标记来描述数据。XML文档通常包含元素(标记...

    利用DOM读写XML

    在处理XML时,DOM(Document Object Model)是一种常用的方法,它将XML文档解析为一个树形结构,使得我们可以方便地访问和修改XML文档的每一个部分。 DOM模型的核心是DOMDocument对象,它是整个XML文档的根节点,...

    用 PHP 读取和编写 XML DOM

    这篇博客"用 PHP 读取和编写 XML DOM"显然是关于如何利用PHP的DOM扩展来操作XML文件。 首先,让我们了解PHP的DOMDocument类。DOMDocument是DOM API的核心,它可以用来创建新的XML文档,加载现有文档,并执行各种...

    在PHP5里使用domxml的PHP4代码

    PHP5对domxml的支持与php4不同,比如这些函数就没有了 domxml_new_doc domxml_new_xmldoc domxml_open_file 使用这个代码就可以在php5里继续使用php4里的domxml函数

    CSS3.0 手册 XML DOM 手册 APACHE 手册chm

    "XMLDOM对象方法手册.chm"则专注于XML DOM的API和使用技巧,对于处理XML数据的开发者大有裨益。 总的来说,这些手册对于理解和掌握CSS3.0、XML DOM和Apache的使用至关重要,无论是前端开发、后端开发还是服务器管理...

    php xml转数组

    首先,PHP提供了内置的`DOMDocument`类和`DOMXpath`类,它们可以用来解析XML文档并提取数据。以下是一个基本的转换过程: 1. **创建DOMDocument对象**: ```php $xmlString = '&lt;root&gt;&lt;item id="1"&gt;Item 1&lt;/item&gt;...

    xmldom

    XMLDOM(XML Document Object Model)是用于处理XML文档的一个接口,尤其在PHP中,它提供了一种解析、操作和创建XML文档的方式。XMLDOM允许开发者通过对象和方法来访问和修改XML文档的结构,就像HTML DOM(Document ...

    PHP原生DOM对象操作XML.pdf

    原生DOM对象指的是PHP标准库中提供的用于解析和操作XML的DOMDocument类和相关类。 首先,创建一个DOMDocument对象,并设置文档类型为XML。例如: ```php $dom = new DOMDocument('1.0'); ``` 接下来,可以设置...

    PHP使用 DOMDocument 生成XML的示例程序文件

    在 PHP 中生成 XML 的常用方法包括使用 DOMDocument DOMDocument 是 PHP 中处理 XML 的另一个强大的类。与 SimpleXML 相比,它提供了更多的功能和灵活性,但也可能需要更多的代码。DOMDocument 允许你构建和操作复杂...

    详解PHP原生DOM对象操作XML的方法

    大家都知道对于操作XML类型文件,PHP内置有一套DOM对象可以进行处理。对XML的操作,从创建、添加到修改、删除都可以使用DOM对象中的函数来进行。下面这篇文章通过示例代码给大家介绍如何进行操作,有需要的朋友们...

    xmldom解析

    在这个主题中,“xmldom解析”主要涉及在服务器端和客户端使用DOM解析XML数据的技术。 1. **DOM解析原理**: - DOM解析器将XML文档转化为内存中的树形结构,称为DOM树。每个节点代表XML文档的一部分,如元素、属性...

    java 的dom的读取xml

    Java中的DOM解析XML是一种常见的处理XML数据的方式,它允许程序以结构化的方式访问和操作XML文档。DOM(Document Object Model)是一种W3C标准,它将XML文档转换为一棵节点树,每个节点代表XML文档的一个部分,如...

    w3cshool参考手册全集[DHTML DOM CSS JavaScript PHP XML](chm)

    XML DOM ASP reference ADO reference ASP.NET PHP 5.1 实例/案例 HTML 实例 CSS 实例 XML 实例 XML DOM 实例 WAP 实例 JavaScript 实例 JavaScript 对象实例 DHTML 实例 VBScript 实例 ASP 实例 ADO ...

    Windows下的PHP开启DomXML

    Windows下的PHP开启DomXML DomXML是PHP中的一种XML解析器,可以使用它来解析和处理XML文档。在Windows平台下,开启DomXML需要满足一定的条件和配置,本文将详细介绍如何在Windows平台下开启DomXML。 首先, Dom...

    PHP中使用DOM

    当我们谈论"PHP中使用DOM"时,我们指的是PHP如何利用DOM(Document Object Model)这个W3C标准来解析和操作XML或HTML文档。DOM允许程序员以结构化的方式访问和修改文档内容,如同在内存中构建了一个树形结构来表示...

Global site tag (gtag.js) - Google Analytics