我的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 ...
随机推荐
- json xmpp
https://github.com/lamfire/jspp http://blog.csdn.net/nomousewch/article/category/823687 http://my.os ...
- HDOJ--4869--Turn the pokers【组合数学+高速幂】
链接:http://acm.hdu.edu.cn/showproblem.php?pid=4869 题意:有m张扑克.開始时所有正面朝下.你能够翻n次牌,每次能够翻xi张.翻拍规则就是正面朝下变背面朝 ...
- spring入门之helloworld
1.第一个spring例子 1.建立工程 建立一个java project就可以. 导包,helloworld包括下面两个最少的包: 到http://www.springsource.org/down ...
- Chapter 2 - How to Add a sprite
Chapter 2 - How to Add a sprite 1. Add image resources 1.1add resources on win32 2. Add a sprite TIP ...
- android注解使用详解(图文)
在使用Java的SSH框架的时候,一直在感叹注解真是方便啊,关于注解的原理,大家可以参考我的另一片文章Java注解详解.最近有时间研究了android注解的使用,今天与大家分享一下. android中 ...
- CXF整合Spring开发WebService
刚开始学webservice时就听说了cxf,一直没有尝试过,这两天试了一下,还不错,总结如下: 要使用cxf当然是要先去apache下载cxf,下载完成之后,先要配置环境变量,有以下三步: 1.打开 ...
- 在Silverlight中使用async/await
现在 async/await 大行其道,确实,有了 async/await ,异步编程真是简单多了,个人觉得 async/await 的出现,给开发者还来的方便,绝不亚于当年 linq 的出现. 但要 ...
- Java的浮点数
为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处.LaplaceDemon/ShiJiaqi. http://www.cnblogs.com/shijiaqi1066/p/5160771. ...
- MVC Ajax 提交是防止SCRF攻击
//在View中 <script type="text/javascript"> @functions{ public string ToKenHeaderValue( ...
- HTML+CSS基础学习笔记(7)
CSS布局模型 在网页中,元素有三种布局模型: 1.流动模型(Flow) 2.浮动模型(Float) 3.层模型(Layer) 一.流动模型 流动(Flow)是默认的网页布局模型,网页在默认状态下的H ...