2014-01-31 24 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