PHP SimpleXML 扩展

PHP 5 以上版本提供了 SimpleXML 扩展来处理简单的 XML 任务

什么是 PHP SimpleXML?

PHP 5 以上版本,SimpleXML 函数是 PHP 核心的组成部分,无需安装就可以使用这些函数

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

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

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

  1. 元素被转换为 SimpleXMLElement 对象的单一属性

    当同一级别上存在多个元素时,它们会被置于数组中

  2. 属性通过使用关联数组进行访问,其中的索引对应属性名称

  3. 元素内部的文本被转换为字符串

    如果一个元素拥有多个文本节点,则按照它们被找到的顺序进行排列

应用范围

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

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

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

PHP SimpleXML 范例

首先我们先创建一个 XML 文件 php_xml_note.xml

<?xml version="1.0" encoding="UTF-8"?>
<note>
<to>小明</to>
<from>小红</from>
<heading>短信</heading>
<body>I miss you so much</body>
</note>

现在,我们就用 PHP SimpleXML 输出这个 XML 文件的不同信息

范例 1

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

php_xml_simplexml_1.php

<?php
echo '<p>PHP 基础教程 - 简单教程(www.twle.cn)</p>';

$xml=simplexml_load_file("php_xml_note.xml");
echo '<pre>';
print_r($xml);
echo '</pre>';

运行范例 »

运行以上范例,输出结果如下

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

php_xml_simplexml_1.php

<?php

echo '<p>PHP 基础教程 - 简单教程(www.twle.cn)</p>';

$xml=simplexml_load_file("php_xml_note.xml");

echo $xml->to . "<br>";
echo $xml->from . "<br>";
echo $xml->heading . "<br>";
echo $xml->body;

运行范例 »

运行以上范例,输出结果如下

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

php_xml_simplexml_3.php

<?php

echo '<p>PHP 基础教程 - 简单教程(www.twle.cn)</p>';

$xml=simplexml_load_file("php_xml_note.xml");
echo $xml->getName() . "<br>";

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

运行范例 »

运行以上范例,输出结果如下

延伸阅读

如果你想要了解更多 PHP SimpleXML 提供的函数,可以访问我们的 PHP SimpleXML 函数参考手册

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.