php怎么删除xml?





第一种情况:删除一个student节点

代码如下:
<?php
//1、创建一个DOMDocument对象。该对象就表示 xml文件
$xmldoc = new DOMDocument();
//2、加载xml文件(指定要解析哪个xml文件,此时dom树节点就会加载到内存中)
$xmldoc->load(“class.xml”);
//3、删除一条学生student信息记录
//(1)取出根节点
$root=$xmldoc->getElementsByTagName(“class”)->item(0);//不通过根据节点删除时,此条代码不需要
//(2)找到该学生
$stu = $xmldoc->getElementsByTagName(“student”);
$stu_del = $stu->item(2);//找到第三个学生
$root->removeChild($stu_del);//执行删除操作,此为方法1
//$stu_del->parentNode->removeChild($stu_del);//找到其父节点,由父节点执行删除操作,此为方法2
//4、更新 xml 文档
$xmldoc->save(“class.xml”);
echo “删除成功”;
?>

第二种情况:删除student节点下的其中一个节点,如age:
代码如下:
<?php
//1、创建一个DOMDocument对象。该对象就表示 xml文件
$xmldoc = new DOMDocument();
//2、加载xml文件(指定要解析哪个xml文件,此时dom树节点就会加载到内存中)
$xmldoc->load(“class.xml”);
//3、删除一条学生student信息记录
//(1)取出根节点
$root=$xmldoc->getElementsByTagName(“class”)->item(0);
//(2)找到该学生
$stu = $xmldoc->getElementsByTagName(“age”);
$stu_del = $stu->item(1);//找到第二个学生的age
$stu_del->parentNode->removechild($stu_del);//执行删除操作
//4、更新 xml 文档
$xmldoc->save(“class.xml”);
echo “删除成功”;
?>