我的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 ...
随机推荐
- 【JAVA - SSM】之MyBatis开发DAO
在SSM框架中的DAO层就是MyBatis中的Mapper,Mapper分为两部分:Mapper接口(JAVA文件)和Mapper映射文件(XML文件).DAO开发(Mapper开发)有两种方式:原始 ...
- A Practical Guide to Distributed Scrum - 分布式Scrum的实用指南 - 读书笔记
最近读了这本IBM出的<A Practical Guide to Distributed Scrum>(分布式Scrum的实用指南),书中的章节结构比较清楚,是针对Scrum项目进行,一个 ...
- 【AOS应用基础平台】完好了AOS标签库,和标准标签库完美兼容了
[金码坊AOS开发平台]今天①完好了AOS标签库,和标准标签库完美兼容了.②新开发了依据子页面动态生成主页面的二级导航菜单功能.#AOS开发平台#
- Android自动关机代码
http://www.open-open.com/lib/view/open1409209890713.html 要实现自动关机的功能需要手机有root权限,如果手机有root权限,运行该程序时,会提 ...
- 模板类之间的友元关系实现Blob和BlobPtr
16.12编写你自己版本的Blob和BlobPtr模板,包含书中未定义的多个const成员. Blob.h(注意,成员函数的声明和定义要放在一个头文件中) /*记住,模板的头文件中通常既包括声明也包括 ...
- android之frame动画详解
上一篇我们说了android中的tween动画,这一篇我们说说frame动画,frame动画主要是实现了一种类似于gif动画的效果,就是多张图按预先设定好的时间依次连续显示. 新建一个android项 ...
- 第一篇:杂项之pymysql连接池
杂项之pymysql连接池 杂项之pymysql连接池 本节内容 本文的诞生 连接池及单例模式 多线程提升 协程提升 后记 1.本文的诞生 由于前几天接触了pymysql,在测试数据过程中,使用普 ...
- MAC OS X API知识摘抄
本文为信息为网上各个地方收集整理Carbon和Cocoa,Toolbox,POSIX,JAVA并列成为Mac OS X五个主要的API.与Cocoa相较之下,Carbon是非物件导向(Procedur ...
- 逻辑回归应用之Kaggle泰坦尼克之灾(转)
正文:14pt 代码:15px 1 初探数据 先看看我们的数据,长什么样吧.在Data下我们train.csv和test.csv两个文件,分别存着官方给的训练和测试数据. import pandas ...
- 自动显示git分支--安装oh-my-zsh(Ubuntu环境)
1,安装zsh sudo apt-get install zsh 2,克隆项目 git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh- ...