0

I have protected function with php-code:

$replaceData = array(
        '%userName%' => $order->getUserFullName(),
        '%userEmail%' => $order->getUserEmail(),
        '%userPhone%' => $order->getUserPhone(),
        '%userDeliver%' => $order->getUserDeliverTo(),
        '%orderId%' => $order->getId(),
        '%orderKey%' => $order->getKey(),
        '%orderLink%' => shop_url('cart/view/' . $order->getKey()),
    );

How to save this array to xml-file using simpleXML?

TarasH
  • 55
  • 10
  • How about some research first? http://stackoverflow.com/questions/1397036/how-to-convert-array-to-simplexml – MSadura Mar 07 '14 at 08:58

1 Answers1

1

Try to do this:

$replaceData = array(
        '%userName%' => $order->getUserFullName(),
        '%userEmail%' => $order->getUserEmail(),
        '%userPhone%' => $order->getUserPhone(),
        '%userDeliver%' => $order->getUserDeliverTo(),
        '%orderId%' => $order->getId(),
        '%orderKey%' => $order->getKey(),
        '%orderLink%' => shop_url('cart/view/' . $order->getKey()),
    );

$xml = new SimpleXMLElement('<root/>');
array_walk_recursive($replaceData, array ($xml, 'addChild'));
print $xml->asXML();

Correction, try this to save as xml

//Save  as xml
$doc = new DOMDocument('1.0');
$doc->formatOutput = true;
$root = $doc->createElement('root');
$root = $doc->appendChild($root);
foreach($replaceData as $key=>$value)
{
   $em = $doc->createElement($key);       
   $text = $doc->createTextNode($value);
   $em->appendChild($text);
   $root->appendChild($em);

}
$doc->save('file.xml');
koninos
  • 4,969
  • 5
  • 28
  • 47