Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah bahagian CDATA boleh ditambah pada fail XML yang dijana menggunakan SimpleXmlElement?

Bagaimanakah bahagian CDATA boleh ditambah pada fail XML yang dijana menggunakan SimpleXmlElement?

Barbara Streisand
Barbara Streisandasal
2024-10-23 12:10:34704semak imbas

How can CDATA sections be added to XML files generated using SimpleXmlElement?

Mencipta CDATA Menggunakan SimpleXmlElement

Apabila menjana fail XML, selalunya perlu memasukkan bahagian CDATA. Walaupun SimpleXmlElement tidak menyokong pembuatan CDATA secara asli, versi tersuai boleh digunakan untuk mencapai fungsi ini.

Menyesuaikan SimpleXmlElement

Kod berikut mentakrifkan kelas SimpleXMLExtended yang memanjangkan SimpleXmlElement dan menyediakan fungsi addCData tersuai:

<code class="php">class SimpleXMLExtended extends SimpleXMLElement {
    public function addCData( $cdata_text ) {
        $node = dom_import_simplexml( $this );
        $ownerDocumentNode = $node->ownerDocument;
        $node->appendChild( $ownerDocumentNode->createCDATASection( $cdata_text ));
    }
}</code>

Mencipta XML dengan CDATA

Untuk mencipta fail XML dengan CDATA, ikut langkah berikut:

  1. Buat objek SimpleXMLExtended yang mewakili struktur XML yang diingini.
  2. Gunakan fungsi addCData untuk memasukkan CDATA ke dalam nod.
  3. Tambahkan atribut pada nod mengikut keperluan.
  4. Simpan fail XML menggunakan saveXML.

Contoh

Kod berikut menunjukkan penciptaan fail XML dengan bahagian CDATA:

<code class="php">// Create SimpleXMLExtended object
$xml = new SimpleXMLExtended('<site/>');

// Insert CDATA into title node</code>

Atas ialah kandungan terperinci Bagaimanakah bahagian CDATA boleh ditambah pada fail XML yang dijana menggunakan SimpleXmlElement?. 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