从表中提取数据,并将其保存在一个XML文件
问题描述:
我从一个MySQL表获取的一组记录,然后它在XML文件中存储如下:从表中提取数据,并将其保存在一个XML文件
while($rows = mysqli_fetch_array($result))
{
$deviceNumber=$rows['deviceid'];
$videoNumber=$rows['videoid'];
$paymentDate=$rows['paymentdate'];
$paymentTime=$rows['timenow'];
$xml = new DOMDocument();
$xmlroot = $xml->createElement("xml");
$payments = $xml->createElement("payments");
$deviceid = $xml->createElement("deviceid", $deviceNumber);
$payments->appendChild($deviceid);
$videonumber = $xml->createElement("videonumber");
$videoid = $xml->createElement("videoid", $videoNumber);
$payments->appendChild($videoid);
$paymentdate = $xml->createElement("paymentdate");
$paiddate = $xml->createElement("paiddate", $paymentDate);
$payments->appendChild($paiddate);
$paymenttime = $xml->createElement("paymenttime");
$timenow = $xml->createElement("timenow", $paymentTime);
$payments->appendChild($timenow);
$xmlroot->appendChild($payments);
$xml->appendChild($xmlroot);
//Save the XML file
$xml->save("userPaymentDetails.xml");
}
上述方法的问题,它只保存一条记录如下:
<xml>
<payments>
<deviceid>43CA3KZXYQGBK</deviceid>
<videoid>1234567</videoid>
<paiddate>2014-01-09</paiddate>
<timenow>19:38:19</timenow>
</payments>
</xml>
我想要在XML文件中有多个值。 我想实现:
<xml>
<payments>
<deviceid>43CA3KZXYQGBK</deviceid>
<videoid>1234567</videoid>
<paiddate>2014-01-09</paiddate>
<timenow>19:38:19</timenow>
</payments>
<payments>
<deviceid>76QL6DFBAQHJL</deviceid>
<videoid>1348921</videoid>
<paiddate>2014-01-10</paiddate>
<timenow>10:20:12</timenow>
</payments>
<payments>
<deviceid>93CH3GHTYQGPM</deviceid>
<videoid>890345</videoid>
<paiddate>2014-01-15</paiddate>
<timenow>14:32:40</timenow>
</payments>
</xml>
我在做什么错了?
答
您可以在while循环中创建XML文件,以便每个周期覆盖现有数据。您应该在循环外部创建xml(XMLDocument和根元素)并将其保存在循环之后。
答
您是否试过保留$ xml-> save(“userPaymentDetails.xml”);和$ xml = new DOMDocument();跳出循环。如果是,那么会发生什么。
+0
我曾试过这个,问题是,它创建了所有的节点,所以我不得不采取'$ xml = new DOMDocument(); $ xmlroot = $ xml-> createElement(“xml”);'在循环前面和'$ xml-> appendChild($ xmlroot); $ xml-> save(“userPaymentDetails.xml”);'在循环之后。谢谢。现在它运作良好。 – mutiemule
我同意,做到了,现在运行良好。谢谢。 – mutiemule