将php数组转换为xml文件

Posted

技术标签:

【中文标题】将php数组转换为xml文件【英文标题】:Convert php array into xml file 【发布时间】:2017-08-08 21:45:02 【问题描述】:

如何将此 php 数组转换为 XML?我正在使用 PHP codegniter。有没有将数组转换为 XML 的方法或库?这是我的 PHP 数组代码。我做错了什么?

Array
(
    [0] => SimpleXMLElement Object
        (
            [@attributes] => Array
                (
                    [id] => 1
                )

            [timecode] => 12:23:55:142
            [datetimecode] => 11:30:01:06 2016/10/14
            [color] => Green
            [user] => logger 1
            [comment] => Jdjd
            [framecode] => 1115899
        )

    [1] => SimpleXMLElement Object
        (
            [@attributes] => Array
                (
                    [id] => 2
                )

            [timecode] => 06:12:04:02
            [datetimecode] => 11:30:05:15 2016/10/14
            [color] => Magenta
            [user] => logger 1
            [comment] => Ndnnd
Ndnnd
            [framecode] => 558109
        )

    [2] => SimpleXMLElement Object
        (
            [@attributes] => Array
                (
                    [id] => 3
                )

            [timecode] => 06:12:13:17
            [datetimecode] => 12:32:34:07 2016/10/14
            [color] => White
            [user] => logger 1
            [comment] => Dd

            [framecode] => 558349
        )

)

【问题讨论】:

如果您需要帮助,请发布您的代码 提示:每个SimpleXMLElement都可以通过asXML();解析为xml也可以看这里***.com/questions/1397036/… 我正在使用此代码将此数组转换为 xml public function array_to_xml( $data, &$xml_data ) foreach( $data as $key => $value ) if( is_numeric($key ) ) $key = 'item'.$key; //处理..问题 if( is_array($value) ) $subnode = $xml_data->addChild($key); array_to_xml($value, $subnode); else $xml_data->addChild("$key",htmlspecialchars("$value")); 【参考方案1】:

我通过谷歌搜索找到了这个

How to convert array to SimpleXML

你有一个简单的 SimpleXMLElement 对象数组

所以

$xml = new SimpleXMLElement('<root/>');
foreach ($my_array as $key => $value) 
    $node = "node" . $key;
    $xml->addChild($node, $value);

那应该加上 , ,

如果 $value 表现良好的话。我没有测试。

【讨论】:

以上是关于将php数组转换为xml文件的主要内容,如果未能解决你的问题,请参考以下文章

在 php 中将 XML 文档转换为数组时,有没有办法将其转换回来并将其保存为属性为元素的 XML 文件?

在 PHP 中将 JSON 转换为 XML,但在 XML 中为 JSON 数组创建一个容器元素

使用 JSON 将 XML 转换为 PHP 数组正在删除某些元素的属性

将 .CSV 文件转换为 .XML 的 PHP 脚本

XML与数组的相互转换

将xml转换为PHP数组