最适合网络开发者的网站

PHP 教程

PHP 主页 PHP 简介 PHP 安装 PHP 语法 PHP 注释 PHP 变量 PHP 回显/打印 PHP 数据类型 PHP 字符串 PHP 数字 PHP 数学 PHP 常量 PHP 运算符 PHP 如果...否则...Elseif PHP 开关 PHP 循环 PHP 函数 PHP 数组 PHP 超全局变量 PHP 正则表达式

PHP 形式

PHP 表单处理 PHP 表单验证 需要 PHP 表单 PHP 表单 URL/电子邮件 PHP 表单完成

PHP 先进的

PHP 日期和时间 PHP 包含 PHP 文件处理 PHP 文件打开/读取 PHP 文件创建/写入 PHP文件上传 PHP 饼干 PHP 会话 PHP 过滤器 PHP 过滤器高级 PHP 回调函数 PHP 的 JSON PHP 异常

PHP 面向对象

PHP 什么是OOP PHP 类/对象 PHP 构造函数 PHP 析构函数 PHP 访问修饰符 PHP 继承 PHP 常量 PHP 抽象类 PHP 接口 PHP 特征 PHP 静态方法 PHP 静态属性 PHP 命名空间 PHP 可迭代对象

MySQL 数据库

MySQL 数据库 MySQL 连接 MySQL 创建数据库 MySQL 创建表 MySQL 插入数据 MySQL 获取最后一个 ID MySQL 插入多个 MySQL 已准备 MySQL 选择数据 MySQL 哪里 MySQL 排序依据 MySQL 删除数据 MySQL 更新数据 MySQL 限制数据

PHP XML

PHP XML 解析器 PHP SimpleXML 解析器 PHP SimpleXML - 获取 PHP XML 扩展 PHP XML DOM

PHP - 阿贾克斯

AJAX 简介 AJAX PHP AJAX 数据库 AJAX XML AJAX实时搜索 AJAX 民意调查

PHP 例子

PHP 示例 PHP 编译器 PHP 测验 PHP 练习 PHP 证书

PHP 参考

PHP 概述 PHP 数组 PHP 日历 PHP 日期 PHP 目录 PHP 错误 PHP 异常 PHP 文件系统 PHP 过滤器 PHP FTP PHP 的 JSON PHP 关键字 PHP 库 PHP 邮件 PHP 数学 PHP 杂项 PHP MySQLi PHP 网络 PHP 输出控件 PHP 正则表达式 PHP 简单 XML PHP 流 PHP 字符串 PHP 变量处理 PHP XML解析器 PHP 压缩文件 PHP 时区

PHP。初学者课程

尿素

PHP XML DOM 解析器


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


XML DOM 解析器

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

看一下以下 XML 文档部分:

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

DOM 将上面的 XML 视为树结构:

  • 级别 1:XML 文档
  • 第 2 级:根元素:<from>
  • 第 3 级:文本元素:“Jani”

安装

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


XML 文件

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

<?xml version="1.0" encoding="UTF-8"?>
<note>
<to>托芙</to>
<from>贾尼</from>
<heading>提醒</heading>
<body>这个周末别忘了我!</body>
</note>

加载和输出 XML

我们要初始化 XML 解析器、加载 xml 并输出它:

<?php
$xmlDoc = 新的 DOMDocument();
$xmlDoc-&gt;加载(“note.xml”);

打印 $xmlDoc-&gt;saveXML();
?>

上述代码的输出将是:

Tove Jani 提醒 这个周末别忘了我!

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

<?xml version="1.0" encoding="UTF-8"?>
<note>
<to>托芙</to>
<from>贾尼</from>
<heading>提醒</heading>
<body>这个周末别忘了我!</body>
</note>

上面的例子创建了一个 DOMDocument 对象并将“note.xml”中的 XML 加载到其中。

然后 saveXML() 函数将内部 XML 文档放入字符串中,以便我们可以输出它。


循环遍历 XML

我们要初始化 XML 解析器,加载 XML,并循环遍历<note>元素:

<?php
$xmlDoc = 新的 DOMDocument();
$xmlDoc-&gt;加载(“note.xml”);

$x = $xmlDoc-&gt;documentElement;
foreach ($x-&gt;childNodes AS $item) {
打印 $item-&gt;nodeName 。“ = ”。$item-&gt;nodeValue 。“<br> “;
}
?>

上述代码的输出将是:

#文本 =
至=托芙
#文本 =
来自 = Jani
#文本 =
标题 = 提醒
#文本 =
body = 这个周末别忘了我!
#文本 =

在上面的例子中,您可以看到每个元素之间都有空文本节点。

XML 生成时,节点之间通常会包含空格。XML DOM 解析器会将这些空格视为普通元素,如果您没有意识到这些空格,它们有时会引发问题。


如果您想了解有关 XML DOM 的更多信息,请访问我们的 XML 教程.