登录 |  注册
首页 >  编程技术 >  PHP入门基础教程笔记 >  PHPXMLDOM

PHPXMLDOM

PHP XML DOM

对于操作 XML 类型文件,PHP 提供了一套内置的 DOM 对象进行处理。对于 XML 操作,从创建、添加到修改、删除都可以使用 DOM 对象中的函数来进行。 

内建的 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 文档转换为树型结构。它分析整篇文档,并提供了对树中元素的访问,例如文档对象模型 (DOM)。
  • 基于时间的解析器:将 XML 文档视为一系列的事件。当某个具体的事件发生时,解析器会调用函数来处理。

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

请看下面的 XML 文档片段:

<?xml version="1.0" encoding="ISO-8859-1"?>
<from>Jani</from>

XML DOM 把上面的 XML 视为一个树形结构:

  • Level 1: XML 文档
  • Level 2: 根元素: <from>
  • Level 3: 文本元素: "Jani"

安装

DOM XML 解析器函数是 PHP 核心的组成部分。无需安装就可以使用这些函数。


XML 文件

下面的 XML 文件将应用在我们的实例中:

<?xml version="1.0" encoding="ISO-8859-1"?>
<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();
 ?> 

以上代码将输出:

ToveJaniReminder Don't forget me this weekend!

如果您在浏览器窗口中查看源代码,会看到下面的 HTML:

<?xml version="1.0" encoding="ISO-8859-1"?>
 <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 DOM 教程

在下一节内容中,我们开始讲解 PHP SimpleXML。


<<上一课程
下一课程>>
推荐文章
  • 1.前言本小节将带领大家学习一下如何安装Vue。包括独立版本、CDN、NPM、CLI工具四种不同的安装方法。2.独立版本我们可以在Vue.js的官网上直接下载vue.min.js并用script标签引入。下载Vue.js安装步骤:打开Vue.js下载地址并拷贝所有代码。创建vue.min.js文件,
  • 大家好,今天我们开始一个新专题—Vue。这个专题我们重点针对如何使用Vue开发项目。本文我们主要先介绍一下Vue是什么?1.什么是Vue什么是Vue呢?Vue(读音/vjuː/,类似于view)是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue被设计为可以自底向上逐层应用。Vue的核
  • 什么是高并发?高并发(HighConcurrency)是互联网分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计保证系统能够同时并行处理很多请求。高并发相关常用的一些指标有响应时间(ResponseTime),吞吐量(Throughput),每秒查询率QPS(QueryPerSecond)
  • C++有用的资源以下资源包含了C++有关的网站、书籍和文章。请使用它们来进一步学习C++的知识。C++有用的网站C++ProgrammingLanguageTutorials−C++编程语言教程。C++Programming−这本书涵盖了C++语言编程、软件交互设计、C++语言的现实生活应用。C++
  • C++Web编程什么是CGI?公共网关接口(CGI),是一套标准,定义了信息是如何在Web服务器和客户端脚本之间进行交换的。CGI规范目前是由NCSA维护的,NCSA定义CGI如下:公共网关接口(CGI),是一种用于外部网关程序与信息服务器(如HTTP服务器)对接的接口标准。目前的版本是CGI/1.
  • C++异常处理异常是程序在执行期间产生的问题。C++异常是指在程序运行时发生的特殊情况,比如尝试除以零的操作。异常提供了一种转移程序控制权的方式。C++异常处理涉及到三个关键字:try、catch、throw。throw:当问题出现时,程序会抛出一个异常。这是通过使用throw关键字来完成的。cat
学习大纲