使用SimpleXmlElement和symfony2输出xml文件

whi*_*ear 2 xml symfony

$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');
Run Code Online (Sandbox Code Playgroud)

我使用SimpleXMLElement创建了xml数据.

然后我想在symfony2上输出这个

return $rootNode->asXML();

return $this->render($rootNode->asXML());
Run Code Online (Sandbox Code Playgroud)

要么不起作用.如何输出xml文件?

kli*_*ach 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());
    }
}
Run Code Online (Sandbox Code Playgroud)