XMLWriter::writeCData

xmlwriter_write_cdata

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::writeCData -- xmlwriter_write_cdataЗаписать полный тэг CDATA

Описание

Объектно-ориентированный стиль

bool XMLWriter::writeCData ( string $content )

Процедурный стиль

bool xmlwriter_write_cdata ( resource $xmlwriter , string $content )

Записывает полный тэг CDATA.

Список параметров

xmlwriter

Только для процедурных вызовов. Изменяемый resource XMLWriter. Этот ресурс может быть получен из xmlwriter_open_uri() или xmlwriter_open_memory().

content

Содержимое CDATA.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

Коментарии

i don't know if this is a bug with the underlying c code or not, or this is by design (i'm not a big xml guy), but for me, running on fedora core 5, php 5.2.1
to get this to work, the cdata functions need to wrap the description (or whatever element the cdata should appear in)
for example.
// initiate xmlwriter object as $xw
// add header, titles, etc.

// start cdata
$xw->startCData();
// start description
$xw->startElement('description');
// write cdata
$xw->writeCData('<img src="http://php.net/images/php.gif" />');
// write the description contents
$xw->text('php logo');
// end the description element
$xw->endElement();
// end the cdata
$xw->endCData();

// end xml, and output

otherwise, i just got warnings about writing cdata in the wrong context, and no cdata would be written
2007-03-06 03:30:13
http://php5.kiev.ua/manual/ru/function.xmlwriter-write-cdata.html
A rather strange effect with this.

UTF8 Mysql database 

                            $xml->startElement('tablecolor2');
    $xml->writeCData( $tablecolor2 );
    $xml->endElement();

does not work !

but 
                            $xml->startElement('tablecolor2');
    $tablecolor2 = utf8_decode ( $val['pcolor2']);
    $xml->writeCData( utf8_encode ($tablecolor2) );
    $xml->endElement();

cannot explain this - but it may help someone
2007-06-21 05:14:40
http://php5.kiev.ua/manual/ru/function.xmlwriter-write-cdata.html
Seen a couple of bug reports and gotchas with this one but not a simple code example. Just in case someone finds it useful:

<?php

// serve xml doc as xml
header('Content-type: application/xml');

// set up the document
$xml = new XmlWriter();
$xml->openMemory();
$xml->startDocument('1.0''UTF-8');
$xml->startElement('mydoc');
$xml->startElement('myele');

// CData output
$xml->startElement('mycdataelement');
$xml->writeCData("text for inclusion within CData tags");
$xml->endElement();

// end the document and output
$xml->endElement();
$xml->endElement();
echo 
$xml->outputMemory(true);
?>

Outputs:
<?xml version="1.0" encoding="UTF-8"?>
<mydoc>
    <myele>
        <mycdataelement><![CDATA[text for inclusion within CData tags]]>
        </mycdataelement>
    </myele>
</mydoc>
2008-09-09 11:18:45
http://php5.kiev.ua/manual/ru/function.xmlwriter-write-cdata.html

    Поддержать сайт на родительском проекте КГБ