SimpleXmlElement を使用して XML ファイルを作成および更新する場合、CDATA セクションを追加する必要が生じる場合があります。基本クラスの拡張機能を使用してこれを実現するためのカスタマイズされたソリューションを次に示します。
ネイティブの SimpleXmlElement クラスとの競合を避けるために、カスタム クラス 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>
拡張クラスを配置したら、具体的な例に取り組んでみましょう。
<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>
以上がSimpleXmlElement を使用して XML ファイルに CDATA セクションを追加する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。