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

 时间:2026-02-16 04:50:40

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 DOMDocument();

$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("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");

?>

  • PHP中的DOM模型和解析XML
  • DOM解析XML文件读操作
  • DOM解析XML写入到文件
  • 使用jaxp中的dom方式解析xml:添加子节点
  • 使用Jaxp中的Dom方式解析xml文件来获取节点内容
  • 热门搜索
    养老保险可以补交吗 花盆里有虫子怎么办 临海旅游 杭州西湖旅游攻略 维生素e可以直接涂在脸上吗 怎么学英语口语 员工转正申请怎么写 四川旅游学校 电子版手抄报怎么做 蓟县梨木台风景区