2014-01-31 27 views
2
$rootNode = new \SimpleXMLElement("<?xml version='1.0' encoding='UTF-8' standalone='yes'?><items></items>"); 

$itemNode = $rootNode->addChild('item'); 
$itemNode->addChild('itemCode', 'mk'); 
$itemNode->addChild('itemName', 'orange'); 

$itemNode = $rootNode->addChild('item'); 
$itemNode->addChild('itemCode', 'ap'); 
$itemNode->addChild('itemName', 'apple'); 

$itemNode = $rootNode->addChild('item'); 
$itemNode->addChild('itemCode', 'tof'); 
$itemNode->addChild('itemName', '豆腐'); 


$itemNode->addAttribute('stock', 'none'); 

我用SimpleXMLElement制作了xml数据。使用SimpleXmlElement和symfony2输出xml文件

那么我想这个输出上的Symfony2

return $rootNode->asXML(); 

return $this->render($rootNode->asXML()); 

无论是行不通的。我怎样才能输出XML文件?

回答

6

如果从控制器要输出的数据,你可以做这样的事情:

<?php 

namespace Acme\DemoBundle\Controller; 

use Symfony\Component\HttpFoundation\Request; 
use Symfony\Bundle\FrameworkBundle\Controller\Controller; 
use Symfony\Component\HttpFoundation\Response; 

class SomeController extends Controller 
{ 
    public function someAction(Request $request) 
    { 
     $rootNode = new \SimpleXMLElement("<?xml version='1.0' encoding='UTF-8' standalone='yes'?><items></items>"); 

     $itemNode = $rootNode->addChild('item'); 
     $itemNode->addChild('itemCode', 'mk'); 
     // ... 
     return new Response($rootNode->asXML()); 
    } 
} 
+1

谢谢!这个很酷! – whitebear