PHP SimpleXML

PHP 教程 · 2019-01-21 15:27:40

PHP SimpleXML 处理最普通的 XML 任务,其余的任务则交由其它扩展处理。

什么是 PHP SimpleXML?

SimpleXML 是 PHP 5 中的新特性。

SimpleXML 扩展提供了一种获取 XML 元素的名称和文本的简单方式。

与 DOM 或 Expat 解析器相比,SimpleXML 仅仅用几行代码就可以从 XML 元素中读取文本数据。

SimpleXML 可把 XML 文档(或 XML 字符串)转换为对象,比如:

  • 元素被转换为 SimpleXMLElement 对象的单一属性。当同一级别上存在多个元素时,它们会被置于数组中。
  • 属性通过使用关联数组进行访问,其中的索引对应属性名称。
  • 元素内部的文本被转换为字符串。如果一个元素拥有多个文本节点,则按照它们被找到的顺序进行排列。

当执行类似下列的基础任务时,SimpleXML 使用起来非常快捷:

  • 读取/提取 XML 文件/字符串的数据
  • 编辑文本节点或属性

然而,在处理高级 XML 时,比如命名空间,最好使用 Expat 解析器或 XML DOM。

安装

从 PHP 5 开始,SimpleXML 函数是 PHP 核心的组成部分。无需安装就可以使用这些函数。

PHP SimpleXML 实例

假设我们有如下的 XML 文件,"note.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 文件的不同信息:

实例 1

输出 $xml 变量(是 SimpleXMLElement 对象)的键和元素:

<?php $xml=simplexml_load_file("note.xml"); print_r($xml); ?>

以上代码将输出:

SimpleXMLElement Object ( [to] => Tove [from] => Jani [heading] => Reminder [body] => Don't forget me this weekend! )

实例 2

输出 XML 文件中每个元素的数据:

<?php $xml=simplexml_load_file("note.xml"); echo $xml->to . "<br>"; echo $xml->from . "<br>"; echo $xml->heading . "<br>"; echo $xml->body; ?>

以上代码将输出:

Tove
Jani
Reminder
Don't forget me this weekend!

实例 3

输出每个子节点的元素名称和数据:

<?php $xml=simplexml_load_file("note.xml"); echo $xml->getName() . "<br>"; foreach($xml->children() as $child) { echo $child->getName() . ": " . $child . "<br>"; } ?>

以上代码将输出:

note
to: Tove
from: Jani
heading: Reminder
body: Don't forget me this weekend!

更多 PHP SimpleXML 的信息

如需了解更多关于 PHP SimpleXML 函数的信息,请访问我们的 PHP SimpleXML 参考手册。

点击查看所有 PHP 教程 文章: https://codercto.com/courses/l/5.html

查看所有标签

机器与人:埃森哲论新人工智能

机器与人:埃森哲论新人工智能

【美】保罗•多尔蒂 詹姆斯•威尔逊 / 赵亚男 / 中信出版社 / 2018-10-1 / 49.00元

自人工智能问世以来,人们普遍持有人机对立的观点,且无时无刻不在害怕自己的工作会被人工智能取代。作者认为,是时候抛开这些无谓的担忧了,因为人类社会正走向一个与机器共融共生的时代。 未来的新型工作模式是什么?未来有哪些工作不会被人工智能取代?人工智能时代重要的生存技能是什么?本书围绕这三大核心问题做了透彻的分析。作者带我们见识了置于业务流程背景之下的人工智能,阐述了其在不同职能部门中起到的推动作......一起来看看 《机器与人:埃森哲论新人工智能》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具