SimpleXML: Memadamkan Nod XPath
Dalam artikel ini, kami akan meneroka cara memadamkan nod induk secara berkesan daripada dokumen XML menggunakan SimpleXML dan XPath.
Memahami Had SimpleXML
Kod yang disediakan cuba menggunakan SimpleXML untuk memadamkan nod induk selepas menemuinya melalui XPath. Walau bagaimanapun, fungsi unset() SimpleXML hanya mengalih keluar rujukan objek yang disimpan dalam pembolehubah, bukan nod itu sendiri.
DOMDocument to the Rescue
Untuk mengatasi had SimpleXML, pertimbangkan menggunakan DOMDocument, yang memanipulasi struktur dokumen XML dengan lebih langsung.
Penyelesaian Menggunakan DOMDocument
Kod Contoh dan Output
<code class="php">$doc = new DOMDocument; $doc->loadXML(...); $item_id = 456; $xpath = new DOMXpath($doc); foreach($xpath->query('//items[info/item_id="' . $item_id . '"]') as $node) { $node->parentNode->removeChild($node); } echo $doc->saveXML();</code>
Kod ini mengalih keluar
Kesimpulan
DOMDocument membenarkan manipulasi dokumen XML yang lebih mantap, termasuk penyingkiran terus daripada nod. Walaupun SimpleXML boleh menjadi mudah untuk pertanyaan XPath asas, DOMDocument ialah pilihan yang lebih sesuai untuk tugas manipulasi XML yang lebih kompleks.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Padamkan Nod XPath Menggunakan SimpleXML dan DOMDocument?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!