Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Membenamkan Bahagian CDATA ke dalam XML Menggunakan Kelas SimpleXmlElement Lanjutan?

Bagaimana untuk Membenamkan Bahagian CDATA ke dalam XML Menggunakan Kelas SimpleXmlElement Lanjutan?

Barbara Streisand
Barbara Streisandasal
2024-10-23 11:46:02505semak imbas

How to Embed CDATA Sections into XML Using an Extended SimpleXmlElement Class?

Cara Menggabungkan CDATA ke dalam Fail XML Menggunakan SimpleXmlElement

Penerangan Isu

SimpleXmlElement menyediakan kaedah mudah untuk mencipta dan mengubah suai dokumen XML. Walau bagaimanapun, ia tidak mempunyai fungsi mudah untuk membenamkan bahagian CDATA ke dalam output XML. Cabarannya terletak pada menambah bahagian CDATA dalam elemen XML untuk mempertingkatkan kandungannya.

Penyelesaian

Versi lanjutan kelas SimpleXmlElement, yang diberi nama SimpleXMLExtended, menawarkan penyelesaian yang elegan untuk teka-teki ini. Dengan memanfaatkan kelas tersuai ini, anda boleh menyuntik bahagian CDATA dengan mudah ke dalam struktur XML anda.

Pelaksanaan

Coretan kod berikut menunjukkan cara menggunakan kelas lanjutan:

<code class="php">// Customized 'SimpleXMLElement' class.
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 )); 
  }

}

// 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->title = NULL; // Essential to have a node for appending.

// CDATA section custom function.</code>

Atas ialah kandungan terperinci Bagaimana untuk Membenamkan Bahagian CDATA ke dalam XML Menggunakan Kelas SimpleXmlElement Lanjutan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn