DOM修改xml的步骤:查找节点,得到列表,从列表中选取要删的节点。节点不能删除,只能用新的来替换,要在父节点的高度进行。节点可以删除自己的子节点。
<?xml version="1.0" encoding="UTF-8"?>
<root>
<student id="1">
<name>yyj1</name>
<age>21</age>
<sex>男</sex>
</student>
<student id="2">
<name>yyj2</name>
<age>21</age>
<sex>男2</sex>
</student>
<student id="3">
<name>yyj3</name>
<age>50</age>
<sex>男3</sex>
<sex2>男3</sex2>
</student>
<student id="4">
<name>yyj4</name>
<age>31</age>
<sex>男3</sex>
</student>
<a>
<name>a</name>
</a>
<b>
<name>b</name>
</b>
</root>
<?php
//创建dom对象
$dom=new DOMDocument('1.0','utf-8');
//载入XML文档进行分析
$dom->load('./1.xml');
//找到name节点
$name=$dom->getElementsByTagName('name')->item(3);
//找到name的父节点,然后删除name
$name->parentNode->removeChild($name);
//找到要替换的节点
$up=$dom->getElementsByTagName('name')->item(0);
//创建新的节点
$up_name=$dom->createTextNode('要修改的名称');
//用新的节点替换旧的节点
$up->replaceChild($up_name, $up->firstChild);
header('content-type:text/xml');
echo $dom->savexml();
?>
<root>
<student id="1">
<name>要修改的名称</name>
<age>21</age>
<sex>男</sex>
</student>
<student id="2">
<name>yyj2</name>
<age>21</age>
<sex>男2</sex>
</student>
<student id="3">
<name>yyj3</name>
<age>50</age>
<sex>男3</sex>
<sex2>男3</sex2>
</student>
<student id="4">
<age>31</age>
<sex>男3</sex>
</student>
<a>
<name>a</name>
</a>
<b>
<name>b</name>
</b>
</root>
联系客服