When creating and updating XML files with SimpleXmlElement, you may encounter the need to add CDATA sections. Here's a tailored solution to accomplish this using an extension of the base class:
To avoid conflicts with the native SimpleXmlElement class, we define our custom class, SimpleXMLExtended:
<code class="php">class SimpleXMLExtended extends SimpleXMLElement { // Create CDATA section custom function. public function addCData( $cdata_text ) { $node = dom_import_simplexml( $this ); $ownerDocumentNode = $node->ownerDocument; $node->appendChild( $ownerDocumentNode->createCDATASection( $cdata_text )); } }</code>
With our extended class in place, let's tackle the specific example:
<code class="php">// Name of the XML file. $xmlFile = 'config.xml'; // <?xml version="1.0"?> // <site></site> // ^^^^^^^^^^^^^ $xml = new SimpleXMLExtended( '<site/>' ); // Insert '<title><title>' into '<site></site>'. // <?xml version="1.0"?> // <site> // <title></title> // ^^^^^^^^^^^^^^^ // </site> $xml->title = NULL; // IMPORTANT! Need a node where to append. // CDATA section custom function. // <?xml version="1.0"?> // <site></site></code>
The above is the detailed content of How to Add CDATA Sections to XML Files with SimpleXmlElement?. For more information, please follow other related articles on the PHP Chinese website!