我们今天要和大家一起讨论的内容是关于
Xml已经成为目前数据存储与传递的驱势,从去年的流行起来的Ajax来说,它有一个方法(ResponseXML)就是返回Xml对象,然后由Javascript来处理这个Xml对象。
显然服务器端的强悍编程语言PHP来说更需要这种技术的支持,较之流行的有Xml Parse, XmlReader, Xml Rpc…这里要探讨的并不是这些,而是一个已经集成于PHP simplexml。其使用方法比较简单,而且不需要加载其它的文件,及相关的配置。当然我用到最多的也是这个,相对于其它的php xml解析类来说还是更了解一些。
假如我们有一个这样的文件,
PHP XML处理XML代码如下
立即学习“PHP免费学习笔记(深入)”;
<ol class="dp-xml"><li class="alt"><span><span class="tag"><</span><span> ?xml </span><span class="attribute">version</span><span>=</span><span class="attribute-value">"1.0"</span><span> </span><span class="attribute">encoding</span><span>=</span><span class="attribute-value">"utf-8"</span><span class="tag">?></span><span> </span></span></li><li><span class="tag"><</span><span> </span><span class="tag-name">phplamp</span><span class="tag">></span><span> </span></li><li class="alt"><span class="tag"><</span><span> </span><span class="tag-name">post</span><span class="tag">></span><span> </span></li><li><span class="tag"><</span><span> </span><span class="tag-name">title</span><span> </span><span class="attribute">id</span><span>=</span><span class="attribute-value">"1"</span><span class="tag">></span><span>PHP XML处理介绍一</span><span class="tag"><</span><span> /title</span><span class="tag">></span><span> </span></li><li class="alt"><span class="tag"><</span><span> </span><span class="tag-name">details</span><span class="tag">></span><span>详细内容一</span><span class="tag"><</span><span> /details</span><span class="tag">></span><span> </span></li><li><span class="tag"><</span><span> /post</span><span class="tag">></span><span> </span></li><li class="alt"><span class="tag"><</span><span> </span><span class="tag-name">post</span><span class="tag">></span><span> </span></li><li><span class="tag"><</span><span> </span><span class="tag-name">title</span><span> </span><span class="attribute">id</span><span>=</span><span class="attribute-value">"2"</span><span class="tag">></span><span>PHP XML处理介绍二</span><span class="tag"><</span><span> /title</span><span class="tag">></span><span> </span></li><li class="alt"><span class="tag"><</span><span> </span><span class="tag-name">details</span><span class="tag">></span><span>详细内容二</span><span class="tag"></</span><span class="tag-name">details</span><span class="tag">></span><span> </span></li><li><span class="tag"><</span><span> /post</span><span class="tag">></span><span> </span></li><li class="alt"><span class="tag"><</span><span> </span><span class="tag-name">post</span><span class="tag">></span><span> </span></li><li><span class="tag"><</span><span> </span><span class="tag-name">title</span><span> </span><span class="attribute">id</span><span>=</span><span class="attribute-value">"3"</span><span class="tag">></span><span>PHP XML处理介绍三</span><span class="tag"><</span><span> /title</span><span class="tag">></span><span> </span></li><li class="alt"><span class="tag"><</span><span> </span><span class="tag-name">details</span><span class="tag">></span><span>详细内容三</span><span class="tag"><</span><span> /details</span><span class="tag">></span><span> </span></li><li><span class="tag"><</span><span> /post</span><span class="tag">></span><span> </span></li><li class="alt"><span class="tag"><</span><span> /phplamp</span><span class="tag">></span><span> </span></li></ol>
现在需要用PHP simplexml方法将其所有数据解析出来。
PHP XML处理PHP代码如下
<ol class="dp-xml"><li class="alt"><span><span class="tag"><</span><span> ?php </span></span></li><li><span>/** </span></li><li class="alt"><span>* 加载Xml文件 </span></li><li><span>*/ </span></li><li class="alt"><span>$</span><span class="attribute">xml</span><span> = </span><span class="attribute-value">simplexml_load_file</span><span>("me.xml"); </span></li><li><span>/** </span></li><li class="alt"><span>* 如果Xml为字符串的话可以用下面这个<br />方法,后面的使用方法一样 </span></li><li><span>* $</span><span class="attribute">xml</span><span> = </span><span class="attribute-value">simplexml_load_string</span><span> </span></li><li class="alt"><span>*/ </span></li><li><span>/** </span></li><li class="alt"><span>* 遍历$xml对象 </span></li><li><span>*/ </span></li><li class="alt"><span>foreach ($xml as $</span><span class="attribute">key</span><span> =</span><span class="tag">></span><span> $value) { </span></li><li><span>// 获取属性 </span></li><li class="alt"><span>$</span><span class="attribute">attr</span><span> = $value-</span><span class="tag">></span><span>title-</span><span class="tag">></span><span>attributes(); </span></li><li><span>echo "Id: " . $attr['id'] . "</span><span class="tag"><</span><span> </span><span class="tag-name">br</span><span> </span><span class="tag">/></span><span>"; </span></li><li class="alt"><span>echo "Title: " . $value-</span><span class="tag">></span><span>title . "</span><span class="tag"><</span><span> </span><span class="tag-name">br</span><span> </span><span class="tag">/></span><span>"; </span></li><li><span>echo "Details: " . $value-</span><span class="tag">></span><span>details <br />. "</span><span class="tag"><</span><span> </span><span class="tag-name">br</span><span> </span><span class="tag">/></span><span class="tag"><</span><span> </span><span class="tag-name">br</span><span> </span><span class="tag">/></span><span>"; </span></li><li class="alt"><span>} </span></li><li><span class="tag">?></span><span> </span></li></ol>以上就是PHP simplexml的具体使用方法介绍。
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号