N98\Util\Console\Helper\Table\Renderer\XmlRenderer::render PHP Метод

render() публичный Метод

public render ( Symfony\Component\Console\Output\OutputInterface $output, array $rows )
$output Symfony\Component\Console\Output\OutputInterface
$rows array
    public function render(OutputInterface $output, array $rows)
    {
        $dom = new DOMDocument('1.0', 'UTF-8');
        $dom->formatOutput = true;
        $rows && $this->setHeadersFrom($rows);
        $table = $dom->createElement(self::NAME_ROOT);
        /** @var DOMElement $table */
        $table = $dom->appendChild($table);
        $this->appendHeaders($table, $this->headers);
        $this->appendRows($table, $rows);
        /** @var $output \Symfony\Component\Console\Output\StreamOutput */
        $output->write($dom->saveXML($dom, LIBXML_NOEMPTYTAG), false, $output::OUTPUT_RAW);
    }

Usage Example

Пример #1
0
 /**
  * @test
  * @dataProvider provideTables
  */
 public function tableRendering($rows, $expected)
 {
     $renderer = new XmlRenderer();
     $output = new StreamOutput(fopen('php://memory', 'w', false));
     $renderer->render($output, $rows);
     $this->assertEquals($expected . "\n", $this->getOutputBuffer($output));
 }