Memadamkan Nod dalam SimpleXML
Menyiasat Nod XPath
Untuk memadamkan nod dalam SimpleXML menggunakan XPath, ikut langkah berikut:
Penyingkiran Nod
Untuk mengalih keluar nod induk nod yang dipilih, anda tidak boleh menggunakan unset($ ibu bapa). Sebaliknya, anda perlu menggunakan kaedah __unset() atau kembali kepada DOMDocument.
Menggunakan __unset()
Kaedah __unset() dipanggil apabila anda cuba menyahset sifat sesuatu objek. Untuk mengalih keluar nod menggunakan __unset(), cipta objek SimpleXMLElement baharu dan nyahset nod yang diingini, seperti yang ditunjukkan di bawah:
<code class="php">$newNode = new SimpleXMLElement('<a><b></b></a>'); unset($newNode->b); echo $newNode->asxml(); // Prints <a></a></code>
Menggunakan DOMDocument
DOMDocument menyediakan lebih banyak lagi kawalan terperinci ke atas manipulasi XML. Untuk mengalih keluar nod menggunakan DOMDocument:
Contoh dengan DOMDocument
<code class="php">$doc = new DOMDocument; $doc->loadxml('<foo><items><info><item_id>123</item_id></info></items></foo>'); $item_id = 123; $xpath = new DOMXpath($doc); foreach ($xpath->query('//items[info/item_id="' . $item_id . '"]') as $node) { $node->parentNode->removeChild($node); } echo $doc->savexml(); // Prints <foo><items><info><item_id>123</item_id></info></items></foo></code>
Dengan menggunakan teknik ini, anda boleh mengalih keluar nod daripada dokumen XML dengan berkesan menggunakan SimpleXML dan DOMDocument.
Atas ialah kandungan terperinci Bagaimanakah saya memadamkan nod daripada dokumen XML menggunakan SimpleXML dan DOMDocument dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!