Merhaba,
PHP ile herhangi bir xml dosyasında bulunan bir veriyi silmek için kullanılan “removeChild()” fonksiyonunu anlatacağım.
Burada yapmak istediğim “icerikno”‘su “2” olan icerik kaydını tamamen silmek olacak.
Örnek XML Veri Silme İşlemi Aşağıdaki Gibidir:
XML Dosyamız (icerik.xml):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<!--?xml version="1.0" encoding="UTF-8"?--> 1 Bilgisayar Masaustu 2 Yazici Lazer |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<!--?php $icerikno = "2"; $dom = new DOMDocument; $dom--->load('icerik.xml'); $xpath = new DOMXPath($dom); $query = sprintf('/icerikler/icerik[./icerikno = "%d"]', $icerikno); foreach($xpath->query($query) as $record) { $record->parentNode->removeChild($record); } $dom->save('icerik.xml'); //echo $dom->saveXml(); ?> |
1 2 3 4 5 6 7 8 |
<!--?xml version="1.0" encoding="UTF-8"?--> 1 Bilgisayar Masaustu |
merhaba. çok işime yaradı. teşekkürler.
bu silme işlemini sadece ekrana yansıtıyor. gerçekte xml dosyasının içeriğini silmiyor. bunu nasıl yapabilirim?
php ver.5.6.19
php son satırında
$dom->saveXml(‘icerik.xml’);
çalışmıyor
$dom->save(‘icerik.xml’);
ile çözüldü.
Ben teşekkür ederim içeriği düzeltiyorum (: