Sonata\Exporter\Writer\XmlWriter::write PHP Method

write() public method

public write ( array $data )
$data array
    public function write(array $data)
    {
        fwrite($this->file, sprintf("<%s>\n", $this->childElement));
        foreach ($data as $k => $v) {
            $this->generateNode($k, $v);
        }
        fwrite($this->file, sprintf("</%s>\n", $this->childElement));
    }

Usage Example

    public function testInvalidDataFormat()
    {
        $writer = new XmlWriter($this->filename);
        $writer->open();
        $writer->write(array('firstname' => 'john 1', 'lastname' => 'doe', 'id' => '1'));
        $writer->write(array('firstname' => 'john 3', 'lastname' => 'doe', 'id' => '1'));
        $writer->close();
        $expected = <<<'XML'
<?xml version="1.0" ?>
<datas>
<data>
<firstname><![CDATA[john 1]]></firstname>
<lastname><![CDATA[doe]]></lastname>
<id><![CDATA[1]]></id>
</data>
<data>
<firstname><![CDATA[john 3]]></firstname>
<lastname><![CDATA[doe]]></lastname>
<id><![CDATA[1]]></id>
</data>
</datas>
XML;
        $this->assertEquals($expected, file_get_contents($this->filename));
    }