PHP对xml文件的增删改查操作
2018-03-15 22:21:38
•
阅读
打赏
这篇文章主要介绍了PHP对xml文件的增删改查操作,
结合具体案例形式分析了php针对xml格式文件的增删改查操作相关实现技巧,需要的朋友参考下
xml文件
XML 指可扩展标记语言(EXtensible Markup Language)
是一种标记语言,类似 HTML,XML 的设计宗旨是传输数据,而非显示数据
XML 标签没有被预定义,我们需要自行定义标签,具有自我描述性。
header("content-type:text/html;charset=utf-8");
$xmldom = new DOMDocument();
$xmldom->load("aa.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/>";
}
//添加一个学生信息
function addxml($xmldom)
{
$root = $xmldom->getElementsByTagName("班级")->item(0);
$ostus = $xmldom->createElement_x_x("学生"); //添加属性
$ostus->setAttribute("恋爱状况", "热恋中");
$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");
}
//删除一个学生信息
function del_element($xmldom)
{
$dstus = $xmldom->getElementsByTagName("学生");
$laststu = $dstus->item($dstus->length - 1);
$laststu->parentNode->removeChild($laststu);
}
//修改一个学生信息
function update_element($xmldom)
{
$ustus = $xmldom->getElementsByTagName("学生");
$ustu = $ustus->item(0);
$ustu_age = $ustu->getElementsByTagName("年龄")->item(0);
$ustu_age->nodeValue += 10;
}
//写会到文件中
$xmldom->save("aa.xml");
aa.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文件的增删改查操作的全部内容,希望本文所述对大家PHP程序设计有所帮助。
相关推荐
深度学习 -- 损失函数
深度残差网络(Deep Residual Networks (ResNets))
深度学习 -- 激活函数
神经网络训练 -- 调整学习速率
生成对抗网络(GAN)改进与发展
生成对抗网络(GAN)优点与缺点
生成对抗网络(GAN)的训练
生成对抗网络(GAN)基本原理
生成模型与判别模型