php DOM如何解析xml文档以及对节点增删改查

2025-07-04 19:20:25

1、看看下面一个简单的xml文档:<?xml version="1.0" encoding="UTF-8" ?><classes><stu><name>小明</name><sex>男</sex><age>11</age></stu><stu><name>小红</name><sex>女</sex><age>21</age></stu></classes>

2、下面就来实现对上面class.xml文档的节点的操作:php DOM实现遍历节点:<?php//创建DOMDocument对象$xmldoc = new DOMDocument();//加载指定xml$xmldoc->load("class.xml");$stus =$xmldoc->getElementsByTagName("stu");//访问name节点的值echo $stus->item(1)->getElementsByTagName("name")->item(0)->nodeValue;?>

3、增加节点操作:<?php$xmldoc = new DO怡觎现喾MDocument();$xmldoc->load("class.xml");$root = $xmldoc->getElementsByTagName("classes")->item(0);$stu_node = $xmldoc->createElement("stu");//给该学生增加一个属性$stu_node->setAttribute("intro","这是一个好学生");$name_node = $xmldoc->createElement("name");$name_node->nodeValue="www.phpddt.com";$stu_node->appendChild($name_node);$sex_node = $xmldoc->createElement("sex");$sex_node->nodeValue="男";$stu_node->appendChild($sex_node);$age_node = $xmldoc->createElement("age");$age_node->nodeValue=23;$stu_node->appendChild($age_node);$root->appendChild($stu_node);$xmldoc->save("new_class.xml");?>

4、删除节点操作:<?php$xmldoc = new DOMDocument();$xmldoc->load("new_class.xml");//想删除必须找到它$stus=$xmldoc->getElementsByTagName("stu");$stu1=$stus->item(0);$stu1->parentNode->removeChild($stu1);$xmldoc->save("delete_class.xml");?>

5、更新节点操作:<?php$xmldoc = new DOMDocument();$xmldoc->load(&鳎溻趄酃quot;new_class.xml");//找到才能更新啊$stus=$xmldoc->getElementsByTagName("stu");//取出第一个学生$stu1=$stus->item(0);//把age改成100$stu1_age = $stu1->getElementsByTagName("age")->item(0);$stu1_age->nodeValue = 100;$xmldoc->save("new_class.xml");?>

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢