本文实例讲述了PHP实现对xml的增删改查操作。分享给大家供大家参考,具体如下:案例:ind
本文实例讲述了PHP实现对xml的增删改查操作。分享给大家供大家参考,具体如下:
案例:
index.php
<?php
header("content-type:text/html;charset=utf-8");
$xmldom = new DOMDocument();
$xmldom->load("demo2.xml");
//查询学生信息
$stus = $xmldom->getElementsByTagName("学生");
for ($i=0;$i<$stus->length;$i++){
$stu = $stus->item($i);
getxmlnode($stu, "姓名");
getxmlnode($stu, "年龄");
getxmlnode($stu, "性别");
getxmlnode($stu, "介绍");
}
function getxmlnode(&$stu,$tagname){
echo $stuname = $stu->getElementsByTagName($tagname)->item(0)->nodeValue."<br/>";
}
//添加一个学生信息
//addxml($xmldom);
function addxml($xmldom){
$root = $xmldom->getElementsByTagName("班级")->item(0);
$ostus = $xmldom->createElement_x_x("学生");
//添加属性
$ostus->setAttribute("恋爱状况","热恋中");
//$ostus->nodeValue="\r\n";
$root->a($ostus);
$ostu_name = $xmldom->createElement_x_x("姓名");
$ostus->a($ostu_name);
$ostu_name->nodeValue="小娜";
$ostu_sex = $xmldom->createElement_x_x("性别");
$ostus->a($ostu_sex);
$ostu_sex->nodeValue="女";
$ostu_age = $xmldom->createElement_x_x("年龄");
$ostus->a($ostu_age);
$ostu_age->nodeValue="23";
$ostu_intro = $xmldom->createElement_x_x("介绍");
$ostus->a($ostu_intro);
$ostu_intro->nodeValue="高一美女";
$xmldom->save("demo2.xml");
}
//删除一个学生信息
//del_element($xmldom);
function del_element($xmldom){
$dstus = $xmldom->getElementsByTagName("学生");
$laststu = $dstus->item($dstus->length-1);
$laststu->parentNode->removeChild($laststu);
}
//修改一个学生信息
//update_element($xmldom);
function update_element($xmldom){
$ustus = $xmldom->getElementsByTagName("学生");
$ustu = $ustus->item(0);
$ustu_age = $ustu->getElementsByTagName("年龄")->item(0);
$ustu_age->nodeValue+=10;
}
//写会到文件中
$xmldom->save("demo2.xml");
?>
demo2.xml
<?xml version="1.0" encoding="UTF-8"?>
<班级>
</班级>
PS:这里再为大家提供几款关于xml操作的在线工具供大家参考使用:
在线XML/JSON互相转换工具: http://tools.jb51.net/code/xmljson
在线格式化XML/在线压缩XML: http://tools.jb51.net/code/xmlformat
XML在线压缩/格式化工具: http://tools.jb51.net/code/xml_format_compress
XML代码在线格式化美化工具: http://tools.jb51.net/code/xmlcodeformat
PHP xml 增删改查