0
私はループで処理しているいくつかのデータに基づいてXMLファイルを生成しようとしています。私の最後のXML出力は次のように見ている必要がありますPHP SimpleXMLElementループ内のaddChild最後の値のみを表示
<Line>
<Code>123</Code>
<Description>Acme Constructions</Description>
<TransactionAmount>44.00</TransactionAmount>
<BaseCurrency>AUD</BaseCurrency>
</Line>
<Line>
<Code>456</Code>
<Description>Acme Flowers</Description>
<TransactionAmount>23.00</TransactionAmount>
<BaseCurrency>AUD</BaseCurrency>
</Line>
<Line>
<Code>789</Code>
<Description>General Hospital</Description>
<TransactionAmount>19.00</TransactionAmount>
<BaseCurrency>AUD</BaseCurrency>
</Line>
私はをループだし、新しい子XMLレコードを作成するためにはaddChildを使用しますが、私の最後のXMLファイルだけで、前回のないループからの最後の値を示していますもの。ここに私のPHPコードです:
$xml = new SimpleXMLElement('<xml></xml>');
foreach ($invoiceLineItems->LineItem as $invoiceLineItem) {
$description = $invoiceLineItem->Description;
$amount = $invoiceLineItem->UnitAmount;
$Code = $invoiceLineItem->AccountCode;
$xml = $xml->addChild('Line');
$xml->addChild('Code', $Code);
$xml->addChild('Description', $description);
$xml->addChild('Amount', $amount);
}
// Save XML
$xml->asXML();
$dom = new DOMDocument('1.0');
$dom->preserveWhiteSpace = false;
$dom->formatOutput = true;
$dom->loadXML($xml->asXML());
$dom->save($fileName);
これは、.xmlファイルを生成しますが、それだけでループの最後のレコード、ループ内のすべてのレコードのない1のための単一
<Line>
...
</Line>
を持っています。