อยากทราบวิธีการลบ แท็ก xml อ่ะค่ะ คือต้องการลบ ส่วนของ item ออกค่ะ ทำไงอ่ะค่ะ ที่หนูทำอยู่คือลบไฟล์แบบ radio box เพื่อเลือกลบแท็กค่ะประมาณนี้ค่ะ
ไฟล์ sample.xml
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>(T)คณะวิศวกรรมฯ</title>
<description>This is an example of a generated RSS feed.</description>
<link>#</link>
<item>
<title>detail1</title>
<description>testdetail1</description>
<link>http://127.0.0.1:81/rmutl/techer/savefiles/wallpaper-744773.jpg</link>
</item>
<item>
<title>detail2</title>
<description>testdetail2</description>
<link>http://127.0.0.1:81/rmutl/techer/savefiles/wallpaper-744773.jpg</link>
</item>
</channel>
</rss>
ไฟล์ delxml.php เป็นส่วนที่ใช้เลือก Radio box ใช้ลบค่ะ ในส่วนนี้ out put คือ
O detail1testdetail1http://127.0.0.1:81/rmutl/techer/savefiles/wallpaper-744773.jpg
O detail2testdetail2http://127.0.0.1:81/rmutl/techer/savefiles/wallpaper-744773.jpg
--button submit--
ปัญหาตอนนี้คือลบไม่ได้เลยค่ะ มันบอก Error ที่ $item->firstChild->removeChild($names->item($id)); อ่ะค่ะ
Warning: Invalid argument supplied for foreach() in C:\AppServ\www\rmutl\techer\delxml.php on line 7
<?xml version="1.0" encoding="utf-8"?>
<messages>
<message time="1248083538">
<name>Ben</name>
<email>Ben's Email</email>
<msg>Bens message</msg>
</message>
<message time="1248083838">
<name>John Smith</name>
<email>[email protected]</email>
<msg>Can you do this for me?</msg>
</message>
</messages>
Code (PHP)
<?php
$doc = new DOMDocument;
$doc->load('theFile.xml');
$thedocument = $doc->documentElement;
//this gives you a list of the messages
$list = $thedocument->getElementsByTagName('message');
//figure out which ones you want -- assign it to a variable (ie: $nodeToRemove )
$nodeToRemove = null;
foreach ($list as $domElement){
$attrValue = $domElement->getAttribute('time');
if ($attrValue == 'VALUEYOUCAREABOUT') {
$nodeToRemove = $domElement; //will only remember last one- but this is just an example :)
}
}
//Now remove it.
if ($nodeToRemove != null)
$thedocument->removeChild($nodeToRemove);
echo $doc->saveXML();
?>