0

我有这种 XML:

<?xml version="1.0" encoding="utf-8"?>
 <data>
    <stats>
    </stats>
    <params>
    </params>
    <results> 
        <record id='SJDGH'>  
            <item>abc</item>
            <item>def</item>
            <item>ghi</item>
        </record>
        <record id='OIIO'>   
            <item>abc</item>
            <item>def</item>
            <item>ghi</item>
        </record>   
    </results>
 </data>

我正在为循环中的每<item>一个生成一个新的:<record><results>

 // $data is SimpleXml objec from XML above
 foreach ($data->results->record as $record)
 {
   $newitem = 'New item!'.time().$record->attributes()->id;
 }

不知何故,在这个循环中,我需要更改 SimpleXML 对象 ( $data) 以在每个<record>.

可能吗?

4

2 回答 2

1

我需要一点猜测,但这可能是您正在寻找的:

$records = $data->results->record;

foreach($records as $record)
{
    $value = sprintf('New Item! %s / id:%s', time(), $record['id']);
    $record->item[] = $value;
}

$data->asXML('php://output');

在行动中看到它。

于 2013-04-12T18:48:40.080 回答
-1

我想你可能想使用 addChild。

在这里查看:http: //php.net/manual/en/simplexmlelement.addchild.php

于 2013-04-12T17:41:59.727 回答