我的PHP之旅--XML操作
XML操作
XML主要是做数据存储和WEB服务的,所以我们难免要操作它,这里只介绍PHP的simpleXML方式。
我们要操作的XML:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE books[
<!ELEMENT books (book*)>
<!ELEMENT book (name,author)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT author (#PCDATA)>
<!ATTLIST book id ID #REQUIRED
category CDATA #REQUIRED>
<!ATTLIST name lang (en|zh) 'zh'>
]>
<books>
<book id='a3' category='后台技术'>
<name lang='en'>Learn PHP</name>
<author>Alex</author>
</book>
<book id='a4' category='前台技术'>
<name lang='en'>Learn HTML</name>
<author>Alex</author>
</book>
<book id='a5' category='前台技术'>
<name lang='en'>Learn CSS</name>
<author>Alex</author>
</book>
</books>
SimpleXMLElement
我们要操作XML需要得到一个SimpleXMLElement对象,方法有两种:
$simple_element = simplexml_load_file('test.xml');
$simple_element = new SimpleXMLElement('test.xml');
添加
$simple_element = simplexml_load_file('test.xml');
// 添加节点
$new_book = $simple_element->addChild('book');
$new_name = $new_book->addChild('name','learn_JAVAScript');
$new_book->addChild('author','Alex');
// 添加属性
$new_book->addAttribute('id','a6');
$new_book->addAttribute('category','前端技术');
// 保存
$simple_element->saveXML('test.xml');
查询
$simple_element = simplexml_load_file('test.xml');
// 编写HTML
$table = '<table width="600" border="1">';
$table .= '<tr><th>title</th><th>author</th></tr>';
foreach ($simple_element->book as $book) {
$table .= "<tr>";
$table .= "<td>{$book->name}</td>";
$table .= "<td>{$book->author}</td>";
$table .= '</tr>';
}
echo $table;
修改
$simple_element = simplexml_load_file('test.xml');
$books = $simple_element->book;
$books[1]->name = 'PHP经典实例';
$simple_element->saveXML('test.xml');
$simple_element = simplexml_load_file('test.xml');
// 获取到所有的book
$books = $simple_element->book;
// 获取book1的所有属性
$attributes = $books[1]->attributes();
// 修改属性
$attributes['category'] = '工具';
$simple_element->saveXML('test.xml');
删除
$simple_element = simplexml_load_file('test.xml');
// 获取到所有的book
$books = $simple_element->book;
// 删除用unset即可
unset($books[0]);
$simple_element->saveXML('test.xml');
我的PHP之旅--XML操作的更多相关文章
- LINQ系列:LINQ to XML操作
LINQ to XML操作XML文件的方法,如创建XML文件.添加新的元素到XML文件中.修改XML文件中的元素.删除XML文件中的元素等. 1. 创建XML文件 string xmlFilePath ...
- T-Sql(五)xml操作
t-sql中的xml操作在我们平时做项目的过程中用的很少,因为我们处理的数据量很少,除非一些用到xml的地方,t-sql中xml操作一般用在数据量很大,性能优化的地方,当然我在平时做项目的时候也是没用 ...
- XML格式示例 与 XML操作(读取)类封装
header('Content-Type: text/xml'); <?xml version="1.0" encoding="utf-8" standa ...
- 【Java EE 学习 33 上】【JQuery样式操作】【JQuery中的Ajax操作】【JQuery中的XML操作】
一.JQuery中样式的操作 1.给id=mover的div采用属性增加样式.one $("#b1").click(function(){ $("#mover" ...
- 简单的XML操作类
/// <summary> /// XmlHelper 的摘要说明. /// xml操作类 /// </summary> public class XmlHelper { pr ...
- Entity Framework 实体框架的形成之旅--界面操作的几个典型的处理(8)
在上篇随笔<Entity Framework 实体框架的形成之旅--数据传输模型DTO和实体模型Entity的分离与联合>里面,介绍了在Entity Framework 实体框架里面引入了 ...
- .net学习笔记---xml操作及读写
一.XML文件操作中与.Net中对应的类 微软的.NET框架在System.xml命名空间提供了一系列的类用于Dom的实现. 以下给出XML文档的组成部分对应.NET中的类: XML文档组成部分 对应 ...
- C#常用操作类库三(XML操作类)
/// <summary> /// XmlHelper 的摘要说明. /// xml操作类 /// </summary> public class XmlHelper { pr ...
- php xml 操作。
参考 文章:http://www.cnblogs.com/zcy_soft/archive/2011/01/26/1945482.html DOMDocument相关的内容. 属性: Attribut ...
随机推荐
- js去除空格
function trim(str){ return str.replace(/(^\s*) | ( \s*$ )/g,"" ); }
- 英文Ubantu系统安装中文输入法
以前都是安装的中文Ubantu,但是有时候用命令行的时候中文识别不好,会出现错误,所以这次安装了英文版,但是安装后发现输入法不好用,于是就要自己安装输入法. 安装环境为Ubantu13.04 1.卸载 ...
- python实战--Http代理服务器
打算好好深入研究下pytho的socket编程,那天看了这篇博文,http://www.apprk.com/archives/146,于是打算学习下,仿写了一下,发现写好还真不容易,中途出现很多问题, ...
- [翻译] GVUserDefaults
GVUserDefaults Tired of writing all that code to get and set defaults in NSUserDefaults? Want to hav ...
- 使用GridView自带分页的代码
关于GridView分页页码的讨论 在GridView中实现分页的效果方法非常easy,仅仅须要在"GridView任务"对话框中进行设置就能够了.在"GridView任 ...
- hdu4488 Faulhaber’s Triangle(模拟题)
Faulhaber’s Triangle Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Oth ...
- NSURLSessionDownloadTask 断点下载
#import "ViewController.h" #import "ASIHTTPRequest.h" #import <AFNetworking/A ...
- LabView 快捷键
对象调整和移动Shift-click 选择多个对象,在现有选择的基础上添加对象(方向键) 以一个像素为单位移动所选对象Shift- 以几个像素为单位移动所选对象Shift-click (拖动对象) 在 ...
- 深度剖析:CDN内容分发网络技术原理--转载
1.前言 Internet的高速发展,给人们的工作和生活带来了极大的便利,对Internet的服务品质和访问速度要求越来越高,虽然带宽不断增加,用户数量也在不断增加,受Web服务器的负荷和传输距离等因 ...
- android开发必备日志打印工具类
今天给大家献上一款好用的日志打印工具.大家在平时的开发中用的最多的可能就是Log.i("",""),Log.e("","" ...