使用循环将数据存储在php中的xml文件中

时间:2014-03-08 03:13:15

标签: php xml

我是编程新手,需要帮助。 我想在4个标签中保存2个变量的值,并且该组标签将在.xml文件中打印用户想要的次数。 我怎样才能做到这一点 ?有循环或递归函数吗?

我的代码是:

$variable1='abc';
$variable2='xyz';

$xml->channel->item = ""; 
$xml->channel->item->addChild('title', $variable1);
$xml->channel->item->addChild('link', $variable2);
$xml->channel->item->addChild('description', $variable1);

out put就是这个:

<item>
      <title>4</title>
      <link>4</link>
      <description>4</description>
</item>

我想用其子标签打印此商品标签的次数与用户想要的一样多。

1 个答案:

答案 0 :(得分:1)

您需要创建一个SimpleXMLElement对象,然后将“item”添加为子项并将该结果设置为变量。然后,您可以为该孩子添加更多孩子(标题,链接,描述)。

$data = [
    [
        'title' => 'Made up Title',
        'link' => 'http://madeupwebsite.com',
        'description' => 'Hello world'
    ],
    [
        'title' => 'Made up Title 2',
        'link' => 'http://madeupwebsite2.com',
        'description' => 'Hello world2'
    ]
];

$xml = new SimpleXMLElement('<xml/>');

foreach ($data as $item) {

    $child = $xml->addChild('item');

    foreach ($item as $key => $value) {
        $child->addChild($key, $value);
    }

}

print($xml->asXML());