Since php 5.2.7 release, this function work properly with empty content :
Function call : dom_document->createCDATASection("");
- php < 5.2.7 will return an empty node like : <MyNode></MyNode>
- php >= 5.2.7 will return an empty node with CDATA like : <MyNode><![CDATA[]]></MyNode>
it can make problem if you make a xsd validation after it with node cannot be empty
DomDocument->create_cdata_section
(No version information available, might be only in CVS)
DomDocument->create_cdata_section — 新規 cdata ノードを作成する
説明
domcdata DomDocument->create_cdata_section
( string $content
)
この関数は DomCData クラスの新規インスタンスを返します。 cdata の内容は渡されたパラメータの値です。 このノードは、(たとえば) domnode_append_child() などで挿入されない限り、ドキュメント内に現われません。
エラーが発生した場合、戻り値は FALSE です。
domnode_append_child(), domdocument_create_element(), domdocument_create_text(), domdocument_create_attribute(), domdocument_create_processing_instruction(), domdocument_create_entity_reference(), domnode_insert_before() も参照ください。
DomDocument->create_cdata_section
barthelemy dot seb at gmail dot com
06-Jan-2009 02:55
06-Jan-2009 02:55
webmaster at freecaradverts dot com
01-Apr-2004 03:55
01-Apr-2004 03:55
Beware if you're using the PEAR package XML_BEAUTIFIER. This causes the DOM processor to recognise any CDATA section nodes as text nodes. Better just to stick with the formatting option when using dump_file()......
laurent at rezoloco dot com
03-Sep-2003 08:05
03-Sep-2003 08:05
add CDATA SECTION with xml content in a xml document
$doc_in=domxml_open_mem('<?xml version="1.0"?><paragraphe></paragraphe>'));
$root=$doc_in->document_element ();
$node_txt_para=$root->new_child("txt_para","");
$cdata=$doc_in->create_cdata_section("<root><child num=1></child></root>");
$node_txt_para->append_child($cdata);
$dump=$doc_in->dumpmem();
print($dump);
