$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数据。
然后我想在symfony2
上输出return $rootNode->asXML();
return $this->render($rootNode->asXML());
要么不起作用。如何输出xml文件?
答案 0 :(得分: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());
}
}