Xml已经成为目前数据存储与传递的驱势,从去年的流行起来的Ajax来说,它有一个方法(ResponseXML)就是返回Xml对象,然后由Javascript来处理这个Xml对象。
显然服务器端的强悍编程语言PHP来说更需要这种技术的支持,较之流行的有Xml Parse, XmlReader, Xml Rpc…这里要探讨的并不是这些,而是一个已经集成于PHP环境中的simplexml。其使用方法比较简单,而且不需要加载其它的文件,及相关的配置。当然我用到最多的也是这个,相对于其它的php xml解析类来说还是更了解一些。
开始。。。
假如我们有一个这样的文件,
<?xml version=”1.0″ encoding=”utf-8″?>
<phplamp>
<post>
<title id=”1″>PHP XML处理介绍一</title>
<details>详细内容一</details>
</post>
<post>
<title id=”2″>PHP XML处理介绍二</title>
<details>详细内容二</details>
</post>
<post>
<title id=”3″>PHP XML处理介绍三</title>
<details>详细内容三</details>
</post>
</phplamp>
现在需要用PHP的simplexml方法将其所有数据解析出来。
<?php
/**
* 加载Xml文件
*/
$xml = simplexml_load_file(‘me.xml’);/**
* 如果Xml为字符串的话可以用下面这个方法,后面的使用方法一样
* $xml = simplexml_load_string
*//**
* 遍历$xml对象
*/
foreach ($xml as $key => $value) {
// 获取属性
$attr = $value->title->attributes();
echo ‘Id: ’ . $attr['id'] . ‘<br />’;
echo ‘Title: ’ . $value->title . ‘<br />’;
echo ‘Details: ’ . $value->details . ‘<br /><br />’;
}
?>
很简单的,Copy下来测试一下就明白了。上面有些注释,这里不再详说了。。
PHPLAMP博客是专注于网站建设,搜索引擎研究,网站推广,网站优化的IT博客。
里的内容解析出来是一个空的SimpleXMLElement对象, 怎么解决?
(string)下就好了~