Добавить дочерний элемент для каждого элемента в XML с помощью переполнения стека

Я никогда не работал с 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

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]