2016-03-08 2 views
0

Я никогда не работал с XML с помощью PHP, и я не могу обойти эту легкую (я думаю) проблему.Добавить ребенка для каждого элемента в XML, используя PHP

Вот мой 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'); 
    } 
} 

Даже если это простой вопрос, я кажется, не работает вокруг, я не получаю никакого ответа от него, эха отлично, но ребенок не добавляется. Что я делаю не так?

ответ

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

+0

Ой, такие глупые ошибки. Спасибо, сэр. –

+0

Не беспокойтесь! Приветствия :) –

Смежные вопросы