У меня есть XML файл:
<include>
<data>
<name>Chicken</name>
<price>1</price>
</data>
<data>
<name>Fish</name>
<price>5</price>
</data>
...Cut off about 100 lines...
<data>
<name>Pig</name>
<price>105</price>
</data>
<include>
Теперь я хочу добавить возрастающий <id>
, прямо над <name>
, например:
<include>
<data>
<id>1203001</id>
<name>Chicken</name>
<price>1</price>
</data>
<data>
<id>1203002</id>
<name>Fish</name>
<price>5</price>
</data>
...Cut off about 100 lines...
<data>
<id>1203105</id>
<name>Pig</name>
<price>105</price>
</data>
<include>
Я использовал for
l oop, вот мой код:
$data = <<<XML
<include>
<data>
<name>Chicken</name>
<price>1</price>
</data>
<data>
<name>Fish</name>
<price>5</price>
</data>
...Cut off about 100 lines...
<data>
<name>Pig</name>
<price>105</price>
</data>
<include>
XML;
for($i = 1203001; $i <= 1203105; $i++) {
$xml = new SimpleXMLElement($data);
$xml->data->addChild("id", $i);
}
echo $xml->asXML();
Однако, в результате я получаю, что <id>
появляется только один раз, с наибольшим значением, рядом с </data>
вместо позиции, которую я хочу ::
<include>
<data>
<name>Chicken</name>
<price>1</price>
<id>1203105</id></data>
<data>
<name>Fish</name>
<price>5</price>
</data>
...
Пожалуйста, покажите мне способ решения этой проблемы. Буду признателен за ваше решение.