- 浏览: 675323 次
- 来自: 北京
文章分类
最新评论
-
flyer0126:
freezingsky 写道想想以前自己玩ubuntu的时候, ...
Ubuntu Gnome 1404 64位 WineQQ2013 无法运行解决 -
flyer0126:
kuchaguangjie 写道ubuntu gnome? 我 ...
Ubuntu Gnome 1404 64位 WineQQ2013 无法运行解决 -
kuchaguangjie:
ubuntu gnome? 我已经放弃 ubuntu 桌面了, ...
Ubuntu Gnome 1404 64位 WineQQ2013 无法运行解决 -
freezingsky:
想想以前自己玩ubuntu的时候,在那里wine 个QQ,就觉 ...
Ubuntu Gnome 1404 64位 WineQQ2013 无法运行解决 -
f43310:
不错,学习了!
PHP操作Mysql存储过程
PS:原创文章,如需转载,请注明出处,谢谢!
本文地址:http://flyer0126.iteye.com/blog/1502504
一、手动输出xml
/* * 手动输出xml * @author flyer0126 * @since 2012/4/27 */ header("Content-Type:text/xml"); print '<?xml version="1.0"?>'."\n"; print "<shows>\n"; $shows = array( array( 'name' => 'aa', 'channel' => 'a1', 'start' => 'a2' ), array( 'name' => 'bb', 'channel' => 'b1', 'start' => 'b2' ), array( 'name' => 'cc', 'channel' => 'c1', 'start' => 'c2' ) ); foreach($shows as $show) { print "<show>\n"; foreach($show as $tag => $val) { print "<$tag>".htmlspecialchars($val)."</$tag>\n"; } print "</show>\n"; } print "</shows>\n"; /** <?xml version="1.0"?> <shows> <show> <name>aa</name> <channel>a1</channel> <start>a2</start> </show> <show> <name>bb</name> <channel>b1</channel> <start>b2</start> </show> <show> <name>cc</name> <channel>c1</channel> <start>c2</start> </show> </shows> **/
二、通过DOMDocument生成xml
/* * 通过DOMDocument生成xml * @author flyer0126 * @since 2012/4/27 */ // 创建新文档 $dom = new DOMDocument("1.0", "UTF-8"); // 创建根元素humans,并将其添加至文档 $humans = $dom->appendChild($dom->createElement("humans")); // 创建根元素zhangying,并将其添加至humans $zhangying = $humans->appendChild($dom->createElement("zhangying")); // 创建name元素,并将其添加至zhangying $name = $zhangying->appendChild($dom->createElement("name")); $name->appendChild($dom->createTextNode("张映")); $sex = $zhangying->appendChild($dom->createElement("sex")); $sex->appendChild($dom->createTextNode("男")); $old = $zhangying->appendChild($dom->createElement("old")); $old->appendChild($dom->createTextNode("28")); // 创建根元素tank,并将其添加至humans $tank = $humans->appendChild($dom->createElement("tank")); // 创建name元素,并将其添加至tank $name = $tank->appendChild($dom->createElement("name")); $name->appendChild($dom->createTextNode("tank")); $sex = $tank->appendChild($dom->createElement("sex")); $sex->appendChild($dom->createTextNode("男")); $old = $tank->appendChild($dom->createElement("old")); $old->appendChild($dom->createTextNode("28")); /*// 设置author元素 $author = $book->appendChild($dom->createElement("author")); $author->appendChild($dom->createTextNode("zhangh")); $author->setAttribute("class", "win_close");*/ // 输出 $dom->formatOutput = true; header('Content-Type:text/xml'); echo $dom->saveXML(); // 将文档表现形式放于book变量中 //$book = $dom->saveXML(); // 将文档输出为book.xml文件 //$dom->save("humans.xml"); /** <?xml version="1.0 encoding="UTF-8"?> <humans> <zhangying> <name>张映</name> <sex>男</sex> <old>28</old> </zhangying> <tank> <name>tank</name> <sex>男</sex> <old>28</old> </tank> </humans> **/
三、xml的读取
/* * xml的读取 * @author flyer0126 * @since 2012/4/27 */ // 1. 利用simplexml_load_file读取简单的xml文件 $humans = simplexml_load_file("humans.xml"); foreach($humans as $key => $human) { echo $human->name."->".$human->sex."->".$human->old."\n"; } /** 张映->男->28 tank->男->28 **/ // 2. 利用DOMDocument读取xml $dom = new DOMDocument(); $dom->load("humans.xml"); $humans = $dom->getElementsByTagName("humans"); foreach($humans as $key=>$human) { $names = $human->getElementsByTagName("name"); $olds = $human->getElementsByTagName("old"); $sexes = $human->getElementsByTagName("sex"); foreach($names as $k=>$name) { $name = $names->item($k)->nodeValue; $sex = $sexes->item($k)->nodeValue; $old = $olds->item($k)->nodeValue; echo "$name->$sex->$old\n"; } } /** 张映->男->28 tank->男->28 **/ // 3. 利用正则来获取数据 $xml = ''; $f = fopen("humans.xml", "r"); while($data = fread($f, 2096)) { $xml .= $data; } fclose($f); preg_match_all('/\<humans\>(.*?)\<\/humans\>/s', $xml, $humans); foreach($humans[1] as $human) { preg_match_all('/\<name\>(.*?)\<\/name\>/s', $human, $names); preg_match_all('/\<sex\>(.*?)\<\/sex\>/s', $human, $sexes); preg_match_all('/\<old\>(.*?)\<\/old\>/s', $human, $olds); } foreach($names[1] as $k=>$name) { echo $names[1][$k].'-'.$sexes[1][$k].'-'.$olds[1][$k]."\n"; } /** 张映->男->28 tank->男->28 **/ // 4. 利用XMLReader获取数据 $reader = new XMLReader(); $reader->open("humans.xml"); $i = 1; while($reader->read()) { if($reader->nodeType == XMLReader::TEXT) { if($i%3) { echo $reader->value; }else { echo $reader->value."\n"; } $i++; } } /** 张映男28 tank男28 **/
发表评论
-
API 中签名的使用
2020-02-14 12:53 508PS:原创文章,如需转载,请注明出处,谢谢! ... -
Linux安装php-vld扩展
2018-07-26 20:34 1451PS:原创文章,如需转 ... -
PHP判断内网/外网IP
2017-11-08 21:33 1288工作中用到PHP来判断内外网IP,查找资料 ... -
PHP 利用json_decode解析json为null问题解决
2017-07-04 20:21 4821PS:原创文章,如需转载,请注明出处,谢谢! ... -
PHP垃圾回收机制
2017-05-15 11:55 0PHP 5.3的新的垃圾回收机制(也就是GC)的特点。 ... -
【转】多线程下的fork及写时复制导致的性能问题
2017-01-05 10:59 1356转发文章 原文地址:h ... -
PHP浮点数精度损失问题
2016-10-28 19:42 2142首先抛出一个问题,如下类似: <?p ... -
【转】HHVM是如何提升PHP性能的?
2016-09-06 09:48 743转载文章,原文地址:http://wuduoyi.com/ ... -
【转】PHP的两个特性导致waf绕过注入
2016-08-25 10:10 10761、HPP HTTP参数污染 HTTP参数污染指的是,在 ... -
PHP之APC缓存
2016-01-25 15:29 1146一、APC缓存简介 APC,全称是Alternativ ... -
php in_array的低性能
2016-01-12 15:39 4611PS:原创文章,如需转载,请注明出处,谢谢! ... -
php 获取文件mime类型的方法
2016-01-06 16:29 1711转载文章,原文地址:http://blog.csdn.ne ... -
apt-get install php5-mcrypt 扩展查不到问题解决
2015-06-25 19:12 732问题记录,以备后期查看。 利用apt ... -
Amfphp简单使用整理
2015-03-04 19:28 2492PS:原创文章,如需转载,请注明出处,谢谢! ... -
【转】php_screw 1.5:php加密: 安装与使用
2015-01-05 18:32 1540最近想把接口P ... -
Slim与NotORM搭建轻量级curd服务实践
2014-09-04 20:05 3278PS:原创文章,如需转载,请注明出处,谢谢! ... -
Ubuntu 1404安装Nginx+php5-fpm 502问题解决
2014-08-17 17:14 2627PS:原创文章,如需 ... -
解析PHP中SESSION原理及大型网站应用注意问题
2014-08-13 15:49 1438PHP SESSION原理我们知道,session是在服务器 ... -
VtigerCRM 报错:1REAL: , ROOT: /var/www/crm/Sorry!解决
2014-08-12 12:18 2088PS:原创文章,如需转载,请注明出处,谢谢! ... -
PHP文件上传错误值
2014-07-21 18:00 722switch ($_FILES['Filedata' ...
相关推荐
在PHP中,处理XML文件时,SimpleXML是一个非常实用的工具,尤其适合初学者。SimpleXML库提供了一种简单易用的方式来解析和操作XML文档。下面我们将详细讨论如何使用SimpleXML来处理XML文件。 1. **SimpleXML简介** ...
本篇将详细介绍如何使用PHP简单处理XML数据,并给出一个实例演示。 首先,要处理XML数据,PHP提供了几个内置函数和类,如`simplexml_load_string`和`SimpleXMLElement`。在标题和描述的实例中,我们看到了如何使用`...
虽然具体代码未给出,但通常此类会包含一些自定义方法来处理XML到数组的转换,例如优化性能,处理特定的XML结构等。 总之,PHP提供了多种方法将XML数据转换为数组,可以根据项目需求选择合适的方式。理解这些基础...
SimpleXMLElement适合快速、简单地处理XML,而DOMDocument则提供了更底层的控制,适合处理更复杂的结构和操作。无论选择哪种方式,PHP都提供了强大的工具来处理XML数据,帮助开发者高效地完成任务。
### PHP中处理XML知识点详解 #### 一、引言与背景 随着互联网技术的发展,XML(可扩展标记语言)作为一种重要的数据交换格式,在各种应用场景中扮演着关键角色。PHP作为广泛使用的服务器端脚本语言之一,能够高效地...
SimpleXMLElement则提供了一种更简单的接口,用于处理XML文档。 以下是一个使用PHP解析XML的基本示例: ```php <?php $xml = <<<XML <book title="PHP for Dummies"> <author>John Doe <year>2005 ...
2. SimpleXML:PHP的SimpleXML扩展提供了一个更简单的接口来处理XML。它将XML文档转换为一个嵌套的对象,可以像访问数组一样访问元素和属性: ```php <?php $xml = <<<XML <title>PHP与MySQL web开发 <author>W....
2. SimpleXMLElement:这个类提供了一个更为简洁的接口来处理XML,适合简单的读取和写入操作。例如,读取XML文件中的节点值: ```php $xml = simplexml_load_file('file.xml'); $value = $xml->nodeName; ``` 3. ...
综上所述,PHP与XML的结合提供了多种处理XML文档的方法,从简单的读写到复杂的解析和生成,以及数据交换和Web服务,涵盖了各种实际应用需求。理解并熟练掌握这些知识点,将有助于提高PHP开发中的XML处理能力。
首先,我们有一个名为"xml.php"的类文件,这个类可能是对PHP内置的DOMDocument或SimpleXMLElement类进行了封装,以便更方便地进行XML处理。在"index.php"中,我们可以看到这个XML类的具体使用示例,而"index.xml"则...
在PHP中,处理XML数据是一项常见的任务,尤其是在与外部数据源交互或进行数据转换时。本文将深入探讨如何使用PHP查询XML文档,并将查询结果以数组形式返回,以方便进一步处理。 首先,我们需要理解XML(Extensible ...
而PHP提供了处理XML的强大工具,如SimpleXML、DOMDocument和XMLReader等。本篇将详细介绍如何使用PHP的递归方法解析XML并将其转换为数组,以便在ExtJS的tree组件中使用。 首先,我们来讨论如何使用SimpleXML扩展来...
PHP作为一种常用的服务器端脚本语言,提供了处理XML和JSON的强大功能。本篇文章将详细探讨如何在PHP中将XML转换为JSON和数组。 首先,我们来看XML转JSON。在PHP中,我们可以利用`json_encode()`函数和DOMDocument类...
本专题将深入探讨PHP 5中处理XML的相关功能,包括简单XML扩展和DOM函数的改进,以及XPath和XSLT的运用,同时还会涉及读写RSS和Atom新闻推送。 1. **PHP 5的简单XML扩展(SimpleXML)** SimpleXML是PHP 5引入的一个...
总之,PHP提供了丰富的工具处理XML,使得在不同数据格式间转换变得简单高效。理解并熟练运用这些工具,能够提升你的开发效率和代码质量。对于给定的类文件,通过阅读和测试,你可以更好地了解XML转换的具体实现细节...
总的来说,PHP提供了强大的DOM扩展库来处理XML,通过自定义类封装这些功能,可以方便地生成符合标准的XML文档,包括RSS feed。这个过程不仅可以提高代码的可读性和可维护性,还能确保XML的结构正确无误。
- SimpleXML:这是PHP的一个内置扩展,提供了一个简单的接口来处理XML数据。它可以将XML文档转化为一个嵌套的对象结构,通过属性和方法直接访问和修改元素。 - SAX(Simple API for XML):SAX是一种事件驱动的...
在实际项目中,可能还需要处理XML文件不存在、数据格式错误等异常情况,以及进行更复杂的数据处理和格式化。例如,对XML数据进行过滤、排序或计算。这都需要根据具体需求进行相应的编程实现。 综上所述,"PHP读取...