我有一个XML文件,如下所示:
...
<offers>
<offer>
...
<offer>
<offer>
...
<offer>
<offer>
...
<offer>
<offers>
...
我想在每个“offer”上使用“addChild”函数,所以我正在使用这段代码:
$xmlstr = simplexml_load_file('/file_location/test.xml');
$item = $xmlstr->shop->offers->offer->addChild('sales_notes', 'some value');
$xmlstr2 = '/file_location/test.xml';
file_put_contents($xmlstr2, $xmlstr->asXML());
此代码仅将“sales_notes”子项添加到第一个“商品”中。如何在不使用大量代码的情况下将'sales_notes'子元素添加到所有'offer'元素中? 谢谢!
答案 0 :(得分:2)
你可以做的是循环你的$xmlstr
并添加孩子。
$xmlstr->shop->offers->offer
中的每个项目都是SimpleXMLElement
例如:
foreach($xmlstr->shop->offers->offer as $element) {
$element->addChild('sales_notes', 'some value');
}
答案 1 :(得分:0)
使用getChildren循环遍历它。
{{1}}
没有神奇的衬里。