PHP下可以使用DOMDocument类对XML或者HTML文件进行读写操作

更为简单的方法使用simpleXML类操作XML

DOM节点分为

  1. 元素节点
  2. 属性节点
  3. 值节点
  4. 注释节点
  5. 根节点(document才是根节点)

生成XML文件

<?xml version="1.0" encoding="utf-8"?>
<books>
<book type="科幻小说">
<name>三体0</name>
<auth>刘慈欣</auth>
</book>
<book type="科幻小说">
<name>三体1</name>
<auth>刘慈欣</auth>
</book>
</books>
$xml = new SimpleXMLElement('<?xml version="1.0" encoding="utf-8"?><books/>');    //创建根节点
for($i = 0 ; $i < 10 ; $i ++){
$book = $xml -> addChild('book'); //添加子节点
$book -> addAttribute('type','科幻小说'); //为子节点添加属性
$book -> addChild('name','三体'.$i); //创建值节点
$book -> addChild('auth','刘慈欣');
}
$xml -> asXML('book.xml'); //保存

读取XML文件

$content = file_get_contents('book.xml');
$xml = new SimpleXMLElement($content);
// $xml中将xml文件转换成的数组,可以直接通过$xml->book访问其下节点
foreach ($xml -> book as $book) {
$attr = $book -> attributes(); //返回的是一个数字
echo $book -> name ;
echo $book -> auth ;
echo "</br>";
}

修改

$content = file_get_contents('book.xml');
$xml = new SimpleXMLElement($content);
// $xml中将xml文件转换成的数组,可以直接通过$xml->book访问其下节点
foreach ($xml -> book as $book) {
$attr = $book -> attributes(); //返回的是一个数字
$book -> name = "变形金刚";
}
$xml -> saveXML('book.xml');

删除

$content = file_get_contents('book.xml');
$xml = new SimpleXMLElement($content);
// $xml中将xml文件转换成的数组,可以直接通过$xml->book访问其下节点
for($i = count($xml -> book) - 1 ;$i >= 0 ; $i --){
unset($xml -> book[$i]);
}
$xml -> saveXML('book.xml');

PHP下进行XML操作(创建、读取)的更多相关文章

  1. .NET 对 XML 进行创建,增加,删除,修改操作整理

    前言: 最近做了一个项目,程序A在一个服务器程序B在另一台服务器,然而主程序A需要访问程序B的图片集文件夹下载到本服务器上,为了防止多次对Web Services进行调用,在主程序A中创建一个XML文 ...

  2. linux下使用libxml2实现对xml文件的读取及查询

    由于项目需要,这两天在用C++做XML文件解析的工作.在linux下有个很方便的操作xml文件的库——libxml2,它提供了一套创建和查询xml文件的C语言的接口.这篇博客主要介绍如何使用libxm ...

  3. XML格式示例 与 XML操作(读取)类封装

    header('Content-Type: text/xml'); <?xml version="1.0" encoding="utf-8" standa ...

  4. Java文件操作①——XML文件的读取

    一.邂逅XML 文件种类是丰富多彩的,XML作为众多文件类型的一种,经常被用于数据存储和传输.所以XML在现今应用程序中是非常流行的.本文主要讲Java解析和生成XML.用于不同平台.不同设备间的数据 ...

  5. 【转】python XML 操作总结(创建、保存和删除,支持utf-8和gb2312)

    原文地址:http://hi.baidu.com/tbjmnvbagkfgike/item/6743ab10af43bb24f6625cc5 最近写程序需要用到xml操作,看了看python.org上 ...

  6. 转载 Silverlight实用窍门系列:1.Silverlight读取外部XML加载配置---(使用WebClient读取XAP包同目录下的XML文件))

    转载:程兴亮文章,地址;http://www.cnblogs.com/chengxingliang/archive/2011/02/07/1949579.html 使用WebClient读取XAP包同 ...

  7. Silverlight实用窍门系列:1.Silverlight读取外部XML加载配置---(使用WebClient读取XAP包同目录下的XML文件))【附带实例源码】

    使用WebClient读取XAP包同目录下的XML文件 我们想要读取XAP包下面的XML文件,需要将此XML文件放在加载XAP包的网页的目录中去,然后使用URI方式读取此URL方式下的XML文件. 首 ...

  8. .net学习笔记---xml操作及读写

    一.XML文件操作中与.Net中对应的类 微软的.NET框架在System.xml命名空间提供了一系列的类用于Dom的实现. 以下给出XML文档的组成部分对应.NET中的类: XML文档组成部分 对应 ...

  9. C# XML操作

    一.简单介绍 using System.Xml; //初始化一个xml实例 XmlDocument xml=new XmlDocument(); //导入指定xml文件 xml.Load(path); ...

随机推荐

  1. 了解轮询、长轮询、长连接、websocket

    业务开发中我们往往会有一些需要即时通信的场景,比如微信扫码登录.聊天功能. 下面这四种方式都可以实现即时通信. 轮询: 浏览器通过定时器每隔一段时间向服务器端发送请求,服务器端收到请求并响应请求.没有 ...

  2. css段落(后盾)

  3. 0002 - Spring MVC 拦截器源码简析:拦截器加载与执行

    1.概述 Spring MVC中的拦截器(Interceptor)类似于Servlet中的过滤器(Filter),它主要用于拦截用户请求并作相应的处理.例如通过拦截器可以进行权限验证.记录请求信息的日 ...

  4. 贪吃蛇 v1.01

    1.长度二节:2.如果触及屏幕边缘,游戏结束: 感谢张瑞阳同学改进 #include<bits/stdc++.h>#include<windows.h>#include< ...

  5. dict函数

    增 fromkeys(iterable, value) 用可迭代对象生成键,创建默认值相同的字典(value默认None) 删 pop(k) 通过k来删除字典元素, 找不到就会报错, 返回被删除字典元 ...

  6. OpenJudge 由中根顺序和后根序列重建二叉树

    题目内容: 我们知道如何按照三种深度优先次序来周游一棵二叉树,来得到中根序列.前根序列和后根序列.反过来,如果给定二叉树的中根序列和后根序列,或者给定中根序列和前根序列,可以重建一二叉树.本题输入一棵 ...

  7. servlet和jsp概述

    1.servlet的作用 B/S系统:浏览器/服务器(Servlet的服务模式) Servlet是运行在web服务器或应用服务器上的java程序,它是一个中间层,负责连接来自web浏览器或其它HTTP ...

  8. django模板(template)

    模板层(template) 你可能已经注意到我们在例子视图中返回文本的方式有点特别. 也就是说,HTML被直接硬编码在 Python代码之中. 1 2 3 4 def current_datetime ...

  9. Submline Text 3插件sublimeTmpl添加新模板

    1.安装 一般安装Package Control 2.插件 添加模板 1).进入Preferences->Browse Packages->SublimeTmpl->template ...

  10. Docker的常用命令

    docker命令有很多,总的分为以下几大类: 容器生命周期管理 — docker [run|start|stop|restart|kill|rm|pause|unpause] 容器操作运维 — doc ...