xml文件

<?xml version="1.0" encoding="utf-8"?>
<班级>
    <学生>
        <名字>大哈</名字>
        <年龄>30</年龄>
        <介绍>学生刻苦</介绍>
    </学生>
    <学生>
        <名字>二哈</名字>
        <年龄>35</年龄>
        <介绍>学生好</介绍>
    </学生>
    <学生 性别="男">
        <名字>哈哈</名字>
        <年龄>100</年龄>
        <介绍>这是小哈</介绍>
    </学生>
</班级>

删除

<?php
    
    //xml文件删除元素
    //1.创建DOMDocument
    $xmldoc=new DOMDocument();
    //2.加载xml文件
    $xmldoc->load("classes.xml");
    //3.找到学生节点,item(i)代表取得集合后的第i个元素
    $stu2=$xmldoc->getElementsByTagName("学生")->item(2);
    //4.找到其父节点,删除自己
    $stu2->parentNode->removeChild($stu2);
    //5.回写文件
    $xmldoc->save("classes.xml");
?>

修改

<?php
    //xml更新
    //把第一个学生的年龄+10

//1创建DOMDocument
    $xmldoc=new DOMDocument;
    //2加载xml文件
    $xmldoc->load("classes.xml");
    //3找到节点
    $stu1=$xmldoc->getElementsByTagName("学生")->item(0);
    //4找到年龄节点
    $stu1_age=$stu1->getElementsByTagName("年龄")->item(0);
    $stu1_age->nodeValue+=10;

//5回写文件
    $xmldoc->save("classes.xml");

?>

查询

<?php
    
    //查询
    header("Content-type:text/html;charset=utf-8");
    //1.创建DOMDocument对象
    $xmldoc=new DOMDocument();
    //2.加载xml
    $xmldoc->load("classes.xml");
    //3.获取所有学生
    $stus=$xmldoc->getElementsByTagName("学生");
    for($i=0;$i<$stus->length;$i++){
        
        //取出每个学生的名字
        $names=$stus->item($i)->getElementsByTagName("名字");
        //取出名字的值
        echo $names->item(0)->nodeValue."<br/>";
    }
    
    
    
?>

PHP操作xml学习笔记之增删改查(2)—删、改、查的更多相关文章

  1. PHP操作xml学习笔记之增删改查(1)—增加

    xml文件 <?xml version="1.0" encoding="utf-8"?><班级>    <学生>       ...

  2. delphi操作xml学习笔记 之一 入门必读

    Delphi 对XML的支持---TXMLDocument类       Delphi7 支持对XML文档的操作,可以通过TXMLDocument类来实现对XML文档的读写.可以利用TXMLDocum ...

  3. 3、MyBatis.Net学习笔记之增删改

    增删改之前先说一下笔记1里提到的一个无法创建ISqlMapper对象的问题. <resultMaps> <resultMap id="FullResultMap" ...

  4. 【.NET-EF】Entity Framework学习笔记2 - 增删改(没查询)

    学习描述:用EF就像是省略了做实体类和DAL类,感觉是很方便,废话不多说,直接写步骤: 1.创建EF的edmx文件 这个其实在笔记1已说过,不过有些细节也要说,所以再说一遍,这里使用的是EF 6.1版 ...

  5. 【转载】ASP.NET MVC Web API 学习笔记---联系人增删改查

    本章节简单介绍一下使用ASP.NET MVC Web API 做增删改查.目前很多Http服务还是通过REST或者类似RESP的模型来进行数据操作的.下面我们通过创建一个简单的Web API来管理联系 ...

  6. EF学习笔记——通用增删改查方案

    http://blog.csdn.net/leftfist/article/details/25005307 我刚接触EF未久,还不知道它有什么强大之处,但看上去,EF提供了一般的增删改查功能.以往用 ...

  7. ASP.NET MVC Web API 学习笔记---联系人增删改查

    本章节简单介绍一下使用ASP.NET MVC Web API 做增删改查. 目前很多Http服务还是通过REST或者类似RESP的模型来进行数据操作的. 下面我们通过创建一个简单的Web API来管理 ...

  8. Mybatis学习笔记3 - 增删改查示例

    1.接口定义 package com.mybatis.dao; import com.mybatis.bean.Employee; public interface EmployeeMapper { ...

  9. MongoDB学习笔记,基础+增删改查+索引+聚合...

    一 基础了解 对应关系 -> https://docs.mongodb.com/manual/reference/sql-comparison/ database -> database ...

随机推荐

  1. 今年新鲜出炉的30个流行Android库,你一定需要

    作者|Michal Bialas 2017年快过去了,你年初的定的目标都快完成了吗?总结过去三个月内发布的 最新的30 个 Android 库和项目.你一定需要,建议收藏!让你事半功倍 1.Mater ...

  2. 事件驱动模型 IO多路复用 阻塞IO与非阻塞IO select epool

    一.事件驱动 1.要理解事件驱动和程序,就需要与非事件驱动的程序进行比较.实际上,现代的程序大多是事件驱动的,比如多线程的程序,肯定是事件驱动的.早期则存在许多非事件驱动的程序,这样的程序,在需要等待 ...

  3. Ubuntu16安装GPU版本TensorFlow(个人笔记本电脑)

    想着开始学习tf了怎么能不用GPU,网上查了一下发现GeForce GTX确实支持GPU运算,所以就尝试部署了一下,在这里记录一下,避免大家少走弯路. 使用个人笔记本电脑thinkpadE570,内存 ...

  4. zTree创建quickSearch检索框

    <!--html元素----> <div id="plantTreeDiv" class="zTree-box treeZone"> & ...

  5. pjax 和 ajax 的区别

    pjax 是一个 jQuery 插件,它通过 ajax 和 pushState 技术提供了极速的(无刷新 ajax 加载)浏览体验,并且保持了真实的地址.网页标题,浏览器的后退(前进)按钮也可以正常使 ...

  6. 对《SQL Server中tempdb的management》的一些更正和补充

    对<SQL Server中tempdb的management>的一些更正和补充 前几天看了这篇文章:SQL Server中tempdb的management 发现里面有些内容不是很准确 文 ...

  7. 用华为eNSP模拟器配置Hybrid、Trunk和Access三种链路类型端口

    上一篇文章写到三层交换机实现多个VLAN之间互相通讯,有朋友提问要如何进行配置,可有案例分析.其实那天我在写的时候也有做过模拟,只是后来没有保存.今天重新模拟一次,并附上详细配置命令,希望能够帮助到大 ...

  8. 优化REST Framework 的 路由 APIView 和ViewSetMixin

    APIview: 我们经常写的是view  这个APIview继承了我们的view,并且对请求进来的信息进行设置, 在APIView这个例子中,调用了drf本身的serializer以及Respons ...

  9. Oracle Order By 排序 非主键时 紊乱 重复 问题

    Oracle的分页查询是没有进行任何排序操作的,Oracle是顺序的从数据块中读取符合条件的数据返回到客户端. 而Oracle的排序算法不具有稳定性,也就是说,对于排序键值相等的数据,这种算法完成排序 ...

  10. 《C++ Primer Plus》读书笔记之十一—类继承

    第十三章 类继承 1.类继承:扩展和修改类. 2.公有继承格式:冒号指出B类的基类是A,B是派生类. class B :public A { ... }: 3.派生类对象包含基类对象.使用公有派生,基 ...