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简单实现模拟登陆功能示例

    说明: 为了更好地演示示例,我将在本文中使用“PHP CURL”来模拟浏览器行为,并且将使用豆瓣网进行演示。 制定计划 在开始编写实现模拟登陆功能的示例之前,首先需要制定一个计划,确定以下信息: 确定要模拟登陆的网站; 确定要模拟登陆的用户信息,例如用户名和密码; 确定要提交的表单数据和请求方式; 确定使用哪个库或框架来实现模拟登陆。 在本示例中,我将使用“…

    PHP 2023年5月27日
    00
  • 实例讲解php将字符串输出到HTML

    以下是“实例讲解PHP将字符串输出到HTML”的完整攻略: 基本概念 在PHP中,我们可以使用echo、print和printf等方法来将字符串输出到HTML页面中。其中echo是最常用的一种方法。 echo方法 echo方法可以输出一个或多个字符串,其语法为: echo string1, string2, string3, … 在调用时,可以将多个字符…

    PHP 2023年5月26日
    00
  • 欢乐商城源码/品云购商城源码/英文版商城源码/全开源 可二开

    demo软件园每日更新资源,请看到最后就能获取你想要的: 1.欢乐商城源码/品云购商城源码/英文版商城源码/全开源 可二开 商城源码/英文版商城源码/全开源 可二开 出海项目源码 后台为中文语言 页面效果: 2.SQL学习指南(第2版) 这是一本关于SQL的书,不是关于数据库的。以MySQL为例来讲,不过对于SQL Server, Oracle等的不同也做了…

    PHP 2023年4月17日
    00
  • Win7下手动安装apache2.2、php5.4笔记

    这里是在Win7操作系统下手动安装Apache2.2和PHP5.4的完整攻略。操作过程包括:下载安装Apache2.2、下载安装PHP5.4、进行配置、启动服务等。 下载安装Apache2.2 首先,我们需要从Apache官网下载最新的Apache2.2版本,文件格式可以是zip或者msi安装包。本文以zip包为例,下载完成后解压至指定目录。 例如,解压至C…

    PHP 2023年5月30日
    00
  • php教程之魔术方法的使用示例(php魔术函数)

    下面我就来给您详细讲解“php教程之魔术方法的使用示例(php魔术函数)”这个攻略,让您了解如何使用PHP魔术方法。 什么是PHP魔术方法 在PHP中,有一组特殊的方法,这些方法被称为魔术方法。这些方法的特点是它们具有特殊的名字,会在特定的情况下自动调用。例如,当我们试图访问一个不存在的属性时,__get()方法会被调用。有些常见的魔术方法包括:__cons…

    PHP 2023年5月25日
    00
  • 在PHP世界中选择最合适的模板与使用方法

    在PHP开发中,模板引擎扮演着非常重要的角色,其决定了应用程序的整体性能和用户体验。因此,在选择最合适的模板引擎时,需要权衡各种因素,包括性能、易用性、可定制性等等。 以下是一些可以帮助你在PHP世界中选择最合适的模板引擎的攻略: 1. 明确需求 在选择一个适合自己的模板引擎之前,必须明确自己的需求。需要考虑的问题包括:使用场景、应用程序的规模、访问量、对模…

    PHP 2023年5月23日
    00
  • 微信小程序实用代码段(收藏版)

    下面是针对“微信小程序实用代码段(收藏版)”进行的详细讲解攻略。 什么是微信小程序实用代码段? 微信小程序实用代码段是针对微信小程序的开发,提供的一些通用代码段,非常适合初学者和有一定经验的开发者使用。这些代码段可以提高开发效率,减少重复的代码编写,并且可以优化小程序的性能和用户体验。 如何使用微信小程序实用代码段? 要使用微信小程序实用代码段,首先需要将代…

    PHP 2023年5月23日
    00
  • 你真的了解PHP中的引用符号(&)吗

    当在 PHP 中使用变量时,有一种特殊的情况需要注意,即使用引用符号 &。使用引用符号 & 可以将变量的引用传递给函数或者其他变量,这意味着当引用变量的值发生改变时,其所有引用的地方都会受到影响。 一般情况下,PHP 中的变量是以值传递方式进行传递的,这意味着函数中对变量的更改不会影响到其它位置的值。但当使用引用符号 & 时,变量的引…

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