PHP实现数组array转换成xml的方法

PHP可以通过SimpleXMLElement类来实现将数组转换为XML的操作,步骤如下:

  1. 创建一个SimpleXMLElement对象。
$xml = new SimpleXMLElement('<?xml version="1.0" encoding="UTF-8"?><root></root>');
  1. 将数组转换为XML节点并添加到SimpleXMLElement对象中。
function arrayToXml($arr, &$xml) {
    foreach ($arr as $key => $value) {
        if (is_array($value)) {
            $child = $xml->addChild($key);
            arrayToXml($value, $child);
        } else {
            $xml->addChild($key, $value);
        }
    }
}

上述代码中的arrayToXml函数将传入的数组转换为XML节点并递归地添加到SimpleXMLElement对象中。

  1. 输出生成的XML字符串。
header("Content-type: text/xml");
echo $xml->asXML();

完整示例:

$arr = array(
    "name" => "John Doe",
    "age" => 30,
    "address" => array(
        "street" => "123 Main St",
        "city" => "Anytown",
        "state" => "CA",
        "zip" => "12345"
    )
);

$xml = new SimpleXMLElement('<?xml version="1.0" encoding="UTF-8"?><root></root>');
arrayToXml($arr, $xml);
header("Content-type: text/xml");
echo $xml->asXML();

输出结果:

<?xml version="1.0" encoding="UTF-8"?>
<root>
    <name>John Doe</name>
    <age>30</age>
    <address>
        <street>123 Main St</street>
        <city>Anytown</city>
        <state>CA</state>
        <zip>12345</zip>
    </address>
</root>

另一个示例:

$arr = array(
    "book" => array(
        array(
            "title" => "Harry Potter and the Philosopher's Stone",
            "author" => "J.K. Rowling",
            "year" => 1997
        ),
        array(
            "title" => "The Hitchhiker's Guide to the Galaxy",
            "author" => "Douglas Adams",
            "year" => 1979
        )
    )
);

$xml = new SimpleXMLElement('<?xml version="1.0" encoding="UTF-8"?><root></root>');
arrayToXml($arr, $xml);
header("Content-type: text/xml");
echo $xml->asXML();

输出结果:

<?xml version="1.0" encoding="UTF-8"?>
<root>
    <book>
        <item>
            <title>Harry Potter and the Philosopher's Stone</title>
            <author>J.K. Rowling</author>
            <year>1997</year>
        </item>
        <item>
            <title>The Hitchhiker's Guide to the Galaxy</title>
            <author>Douglas Adams</author>
            <year>1979</year>
        </item>
    </book>
</root>

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PHP实现数组array转换成xml的方法 - Python技术站

(0)
上一篇 2023年5月26日
下一篇 2023年5月26日

相关文章

  • php访问数组最后一个元素的函数end()用法

    PHP中的数组访问是非常常见的操作,在访问数组中的元素时,可能会需要访问数组最后一个元素,这时候可以使用PHP自带的end()函数。本文将详细讲解end()函数的用法,包括函数参数、返回值和示例说明等。 函数介绍 end()函数是一种用于访问数组最后一个元素的PHP函数,其使用方法如下: end ( array &$array ) : mixed 参…

    PHP 2023年5月26日
    00
  • 华硕天选2游戏本怎么样 华硕天选2游戏本详细评测

    “华硕天选2游戏本怎么样”——详细评测 一、外观设计 1. 外形 华硕天选2游戏本采用黑色金属外壳,外形简洁大方,给人以高贵、精致的感觉。尤其是屏幕背面采用了斜角设计,使整台笔记本看起来更加动感。 2. 尺寸 华硕天选2游戏本的尺寸为360 × 262 × 19.9 mm,重量约为1.9 kg。整体大小合适,便携性良好,可随时携带。 3. 接口 华硕天选2游…

    PHP 2023年5月27日
    00
  • 使用WAMP搭建PHP本地开发环境

    下面是关于使用WAMP搭建PHP本地开发环境的完整攻略。 WAMP是什么? WAMP 是指 Windows + Apache + MySQL + PHP 环境的缩写,是一个在 Windows 系统下对开发者友好的 Web 服务器环境。使用 WAMP,我们可以在本地搭建一个与线上环境相近的 PHP 开发环境,更加方便地进行本地开发、测试、调试。在接下来的攻略中…

    PHP 2023年5月23日
    00
  • php文件上传及下载附带显示文件及目录功能

    PHP文件上传及下载附带显示文件及目录功能是web开发中常见的一个功能,下面我将结合相关代码,详细讲解这个功能的完成过程: 一、文件上传 文件上传是指将本地电脑上的文件上传到服务器端,以下是实现文件上传的步骤: 1.创建上传表单 在HTML中创建一个form表单,其中enctype属性设置为multipart/form-data,表示这是一个带文件上传的表单…

    PHP 2023年5月26日
    00
  • php自动获取字符串编码函数mb_detect_encoding

    下面是关于”php自动获取字符串编码函数mb_detect_encoding”的完整攻略。 1. mb_detect_encoding函数概述 mb_detect_encoding 函数是PHP中用于自动检测字符串编码的函数,可以用来检测 UTF-8、GB2312、GBK、BIG5 等常见编码方式的字符串,从而准确地将其转换为目标编码方式。 该函数的语法为:…

    PHP 2023年5月26日
    00
  • 使命召唤12常见问题及解决方法大全

    使命召唤12常见问题及解决方法大全 问题1:游戏闪退,无法启动 解决方法: 更新显卡驱动程序:可以到显卡制造商官网或者Windows官方网站下载最新驱动程序。 运行游戏之前先关闭不必要的软件:有些软件会占用大量内存和CPU资源,导致游戏无法启动或者闪退。 检查游戏文件完整性:在Steam或者其他游戏平台中,可以进行游戏文件完整性检查,修复损坏的游戏文件。 问…

    PHP 2023年5月27日
    00
  • php检测文件编码的方法示例

    当我们处理中文、日文等非ASCII编码的文件时,需要先确定该文件的编码方式,以免在处理过程中出现乱码等问题。下面是几种PHP检测文件编码的方法示例。 方法一:使用mb_detect_encoding方法 mb_detect_encoding方法是PHP中用于检测字符串编码的方法,它可以通过检测字符的字节序列等特征来判断文本编码。对于文件,我们可以使用以下代码…

    PHP 2023年5月26日
    00
  • PHP MPDF中文乱码的解决方式

    下面就为大家详细讲解PHP MPDF中文乱码的解决方式的完整攻略。 问题描述 在使用PHP的MPDF库进行文档生成时,如果文本中包含中文,可能会出现中文乱码的问题,需要解决。 解决方式 1. 设置字体文件 MPDF默认使用的字体文件并不包括中文字符,因此需要使用支持中文字符的字体文件。比如常用的思源宋体和思源黑体。 可以将字体文件放到MPDF的字体目录下,如…

    PHP 2023年5月23日
    00
合作推广
合作推广
分享本页
返回顶部