手册目录

PHP课程

浏览10496
更新时间2025-08-06

XML DOM 解析器

DOM 解析器是一个基于树的解析器。

看看以下的 XML 文档片段:

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

DOM 将上述 XML 视为树结构:

Level 1: XML Document
Level 2: Root element: <from>
Level 3: Text element: "Jani"

安装

DOM 解析器函数是 PHP 核心的一部分。使用这些函数无需安装。

XML 文件

我们将在例子中使用下面的 XML 文件("note.xml"):

<?xml version="1.0" encoding="UTF-8"?>
<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();
?>

上述代码的输出将是:

Tove Jani Reminder Don't forget me this weekend!

如果您在浏览器窗口中选择“查看源代码”,您将看到以下 HTML:

<?xml version="1.0" encoding="UTF-8"?>
<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 解析器将这些视为普通元素,如果您不注意它们,有时会导致问题。

如果您想学习更多关于 XML DOM 的知识,请访问我们的 XML 教程。

相关视频

更多

免费

php8,我来也
初级php8,我来也

321771次学习

收藏

免费

Thinkphp6.0正式版视频教程
中级Thinkphp6.0正式版视频教程

382427次学习

收藏

免费

细说PHP第一季
中级细说PHP第一季

282761次学习

收藏

免费

简单聊聊PHP创业那点事
初级简单聊聊PHP创业那点事

13415次学习

收藏

精品课程

更多
前端入门_HTML5
前端入门_HTML5

共29课时 | 62.5万人学习

CSS视频教程-玉女心经版
CSS视频教程-玉女心经版

共25课时 | 39.7万人学习

JavaScript极速入门_玉女心经系列
JavaScript极速入门_玉女心经系列

共43课时 | 73.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号