使用 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 将 CDATA 部分添加到 XML 文件?的详细内容。更多信息请关注PHP中文网其他相关文章!