PHP操作xml学习笔记之增删改查(2)—删、改、查
xml文件
<?xml version="1.0" encoding="utf-8"?>
<班级>
<学生>
<名字>大哈</名字>
<年龄>30</年龄>
<介绍>学生刻苦</介绍>
</学生>
<学生>
<名字>二哈</名字>
<年龄>35</年龄>
<介绍>学生好</介绍>
</学生>
<学生 性别="男">
<名字>哈哈</名字>
<年龄>100</年龄>
<介绍>这是小哈</介绍>
</学生>
</班级>
删除
<?php
//xml文件删除元素
//1.创建domdocument
$xmldoc=new domdocument();
//2.加载xml文件
$xmldoc->load("classes.xml");
//3.找到学生节点,item(i)代表取得集合后的第i个元素
$stu2=$xmldoc->getelementsbytagname("学生")->item(2);
//4.找到其父节点,删除自己
$stu2->parentnode->removechild($stu2);
//5.回写文件
$xmldoc->save("classes.xml");
?>
修改
<?php
//xml更新
//把第一个学生的年龄+10
//1创建domdocument
$xmldoc=new domdocument;
//2加载xml文件
$xmldoc->load("classes.xml");
//3找到节点
$stu1=$xmldoc->getelementsbytagname("学生")->item(0);
//4找到年龄节点
$stu1_age=$stu1->getelementsbytagname("年龄")->item(0);
$stu1_age->nodevalue+=10;
//5回写文件
$xmldoc->save("classes.xml");
?>
查询
<?php
//查询
header("content-type:text/html;charset=utf-8");
//1.创建domdocument对象
$xmldoc=new domdocument();
//2.加载xml
$xmldoc->load("classes.xml");
//3.获取所有学生
$stus=$xmldoc->getelementsbytagname("学生");
for($i=0;$i<$stus->length;$i++){
//取出每个学生的名字
$names=$stus->item($i)->getelementsbytagname("名字");
//取出名字的值
echo $names->item(0)->nodevalue."<br/>";
}
?>