Lors de la création et de la mise à jour de fichiers XML avec SimpleXmlElement, vous devrez peut-être ajouter des sections CDATA. Voici une solution sur mesure pour y parvenir en utilisant une extension de la classe de base :
Pour éviter les conflits avec la classe native SimpleXmlElement, nous définissons notre classe personnalisée, 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>
Avec notre classe étendue en place, abordons l'exemple spécifique :
<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>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!