php采用dom方式操作xml
<?xml version="1.0" encoding="utf-8"?>
<班级>
<学生>
<名字>小明</名字>
<性别>男</性别>
</学生>
<学生>
<名字>小红</名字>
<性别>女</性别>
</学生>
</班级>
//创建dom对象
$xmldoc=new DOMDocument();//创建dom对象
$xmldoc=load("classes.xml");//打开xml文件
$stus=$xmldoc->getElementsByTagName("学生");//找到所有的"学生"节点
echo $stus->length;//获取长度,即几个节点
$stu1=$stus->item(0);//获取第一个节点
$stu_name=$stu1->getElementsByTagName("名字");//获取第一个节点的"名字"属性
echo $stu_name->item(0)->nodeValue;//打印
//添加
$xmldoc=new DOMDocument();//创建dom对象
$xmldoc=load("classes.xml");//打开xml文件
$stus=$xmldoc->getElementsByTagName("班级")->item(0);//找到"班级"节点的第一个
$stu_node->$xmldoc->createElement("学生");//找到"学生"节点
$stu_node_name=$xmldoc->createElement("名字");//找到"名字"属性
$stu_node_name->nodeValue="小明";//赋值
$stu_node->appendChild($stu_node_name);//把"值"挂到名字上去
$roor->appendChild($stu_node);//把"名字"挂到"学生"节点上
$xmldoc->save("classes.xml");//保存文件
$stu_node->setAttribute("性别","男");//或者直接这样赋值
//删除
$xmldoc=new DOMDocument();//创建dom对象
$xmldoc=load("classes.xml");//打开xml文件
$root=$xmldoc->getElementsByTagName("班级")->item(0);//找到"班级"节点的第一个
$stus->$xmldoc->getElementsByTagName("学生");//找到"学生"节点
$stu1=$stus->item(2);//找到第三个节点
$root->removeChild($stu1);//删除节点
$xmldoc->save("classes.xml");//保存
$stu1->ParentNode->removeChild($stu1)://或者直接找到父级节点直接删除当前节点
//更新
$xmldoc=new DOMDocument();//创建dom对象
$xmldoc=load("classes.xml");//打开xml文件
$stus->$xmldoc->getElementsByTagName("学生");//找到"学生"节点
$stu1=$stus->item(0);//找到第一个节点
$stu1_sex=$stu1-getElementsByTagName("性别")->item(0);//找到"学生"节点的第一个"性别"节点
$stu1_sex->nodeValue ="女";//赋值
$xmldoc->save("classes.xml");//保存