PHP SimpleXML 扩展

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

什么是 PHP SimpleXML?

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

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

与 DOM 或 Expat 解析器 相比,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.