一、XML页面
<?xml version="1.0" encoding="utf-8"?>
<class>
<student info="美女">
<name>小乔</name>
<sex>女</sex>
<age>20</age>
</student>
<student info="帅哥">
<name>周瑜</name>
<sex>男</sex>
<age>35</age>
</student>
</class>
二、增删改查
<?php
//php通过DOM对象模型对XML文档进行操作
header("content-type:text/html;charset=utf-8");
//查询操作
//1)实例化DOM对象
$dom = new DOMDocument("1.0");
//2)加载xml文件(指定要解析哪个xml文件,此时dom树节点就会加载到内存中)
$dom->load("dom.xml");
//3)找到元素节点
$names = $dom->getElementsByTagName("name");
//4)获取相应节点的值
// echo $names->item(0)->nodeValue; //得到小乔
//5)获取到所有的值
$students = $dom->getElementsByTagName("student");
$sexs = $dom->getElementsByTagName("sex");
$ages = $dom->getElementsByTagName("age");
for($i=0;$i<$students->length;$i++)
{
echo $names->item($i)->nodeValue.'-';
echo $sexs->item($i)->nodeValue.'-';
echo $ages->item($i)->nodeValue.'<br>';
}
//增加操作
//1)实例化DOM对象
$dom = new DOMDocument("1.0");
//2)加载xml文件(指定要解析哪个xml文件,此时dom树节点就会加载到内存中)
$dom->load("dom.xml");
//3)创建节点并且赋值
$name = $dom->createElement('name','诸葛亮');
$sex = $dom->createElement('sex','男');
$age = $dom->createElement('age','35');
//4)创建父节点
$student = $dom->createElement('student');
//5)把子节点添加在父节点下
$student->appendChild($name);
$student->appendChild($sex);
$student->appendChild($age);
//6)添加到根节点下
$document = $dom->documentElement; //根节点
$document->appendChild($student);
//7)保存xml文件
$dom->save("dom.xml");
//删除操作
//1)实例化DOM对象
$dom = new DOMDocument("1.0");
//2)加载xml文件(指定要解析哪个xml文件,此时dom树节点就会加载到内存中)
$dom->load("dom.xml");
//3)找到要删除的节点
$student = $dom->getElementsByTagName("student")->item(2);
//4)找到他的父节点
$document = $dom->getElementsByTagName("class")->item(0);
//5)根据父节点删除其子节点
$document->removeChild($student);
//6)保存xml文件
$dom->save("dom.xml");
//修改操作
//1)实例化DOM对象
$dom = new DOMDocument("1.0");
//2)加载xml文件(指定要解析哪个xml文件,此时dom树节点就会加载到内存中)
$dom->load("dom.xml");
//修改节点的值
$dom->getElementsByTagName("sex")->item(1)->nodeValue='男';
$dom->save("dom.xml");
//修改节点标签
//1.创建新节点
$nianling = $dom->createElement('nianling','35');
//2.旧节点
$old = $dom->getElementsByTagName("age")->item(1);
//3.父节点
$parent = $dom->getElementsByTagName("student")->item(1);
//4.替换
$parent->replaceChild($nianling,$old);
//5.保存
$dom->save("dom.xml");
//属性操作
//1)实例化DOM对象
$dom = new DOMDocument("1.0");
//2)加载xml文件(指定要解析哪个xml文件,此时dom树节点就会加载到内存中)
$dom->load("dom.xml");
//3)找到节点
$student = $dom->getElementsByTagName("student")->item(1);
//4)添加属性
$student->setAttribute('info','帅哥');
//5)保存
$dom->save("dom.xml");
?>