使用PHP为XML中的每个元素添加子元素

时间:2016-03-08 23:23:31

标签: php xml element appendchild

我从未使用过PHP的XML工作,我似乎无法解决这个简单(我认为)这个问题。

这是我的XML:

<StockFile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Stock>
        <Prod>M</Prod>
    </Stock>
    <Stock>
        <Prod>Y</Prod>
    </Stock>
    <Stock>
        <Prod>N</Prod>
    </Stock>
</StockFile>

我想要实现的目标:

<StockFile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
        <Stock>
                <Prod>M</Prod>
                <price>Example</price>
        </Stock>
        <Stock>
                <Prod>Y</Prod>
                <price>Example</price>
        </Stock>
        <Stock>
                <Prod>N</Prod>
                <price>Example</price>
        </Stock>
</StockFile>

这是我的代码:

private static function appendPrice()
{
     $xml = simplexml_load_file("file.xml");

     foreach ($xml->Stock as $stock)
     {
         echo $stock->Prod;
         $stock->addChild('price', 'Example');
     }
}

即使这是一个简单的问题,但我似乎无法解决它,我没有得到任何回应,回声很好,但没有添加孩子。我做错了什么?

1 个答案:

答案 0 :(得分:0)

更改后您没有保存文件:

private static function appendPrice()
{
     $xml = simplexml_load_file("file.xml");

     foreach ($xml->Stock as $stock)
     {
         echo $stock->Prod;
         $stock->addChild('price', 'Example');
     }

     $xml->saveXML('file.xml');

}

saveXML