【发布时间】:2014-11-15 11:35:02
【问题描述】:
我有这个 xml 文件:
<?xml version="1.0"?>
<products>
<product>
... some nodes
</product>
<product>
... some nodes
</product>
<product>
... some nodes
</product>
</products>
我写了这个 php 代码:
<?php
....
....
$xml=simplexml_load_file("myfile.xml") or die("Error: Cannot create object");
foreach ($xml->xpath("/products/product") as $prod)
{
$xmlname = $xml->addChild("name",$name);
$xmlid = $xml->addChild("id",$id);
$xmlprice = $xml->addChild("price",$price);
}
$xml->asXML ("result_file.xml");
?>
这行得通,但不是我想要的。它使用新节点创建文件“result_file.xml”:$name、$id 和 $price。问题是所有这些节点都插入到 xml 文件的末尾,如下所示:
<?xml version="1.0"?>
<products>
<product>
... some nodes
</product>
<product>
... some nodes
</product>
<product>
... some nodes
</product>
<name>$name</name>
<id>$id</id>
<price>$price</price>
<name>$name</name>
<id>$id</id>
<price>$price</price>
<name>$name</name>
<id>$id</id>
<price>$price</price>
</products>
但我想在他们的产品节点之后插入所有这些节点。 比如我想获取:
<?xml version="1.0"?>
<products>
<product>
<name>$name</name>
<id>$id</id>
<price>$price</price>
... some nodes
</product>
<product>
<name>$name</name>
<id>$id</id>
<price>$price</price>
... some nodes
</product>
<product>
<name>$name</name>
<id>$id</id>
<price>$price</price>
... some nodes
</product>
</products>
【问题讨论】: