PHP5的Simplexml—实例
来源:互联网 发布:老千 电影 知乎 编辑:程序博客网 时间:2024/04/19 19:10
php5新增了Simplexml extension,我们可以借助它来解析,修改XML。在IBM的知识库里找到一篇文章对此做了专门的介绍,而且比较详细,感兴趣的话可以看看最后的参考文档。
一个RSS Feed
下面是一个RSS的例子,我们准备用simplexml来解析它。
XML:
- <?xml version="1.0" encoding="UTF-8"?>
- <rss version="0.92">
- <channel>
- <title>Mokka mit Schlag</title>
- <link>http://www.elharo.com/blog</link>
- <language>en</language>
- <item>
- <title>Penn Station: Gone but not Forgotten</title>
- <description>
- The old Penn Station in New York was torn down before I was born.
- Looking at these pictures, that feels like a mistake. The current site is
- functional, but no more; really just some office towers and underground
- corridors of no particular interest or beauty. The new Madison Square...
- </description>
- <link>http://www.elharo.com/blog/new-york/2006/07/31/penn-station</link>
- </item>
- <item>
- <title>Personal for Elliotte Harold</title>
- <description>Some people use very obnoxious spam filters that require you
- to type some random string in your subject such as E37T to get through.
- Needless to say neither I nor most other people bother to communicate with
- these paranoids. They are grossly overreacting to the spam problem.
- Personally I won't ...</description>
- <link>http://www.elharo.com/blog/tech/2006/07/28/personal-for-elliotte-harold/</link>
- </item>
- </channel>
- </rss>
解析XML
首先载入一个xml
PHP:
- $rss = simplexml_load_file('http://www.ooso.net/index.php/feed/');
这里使用的是simplexml_load_file函数,能够马上解析指定url的xml文件,因为是simplexml,所以simple。下面就可以象读取php数组一样来使用解析后xml的内容了,比如读取RSS的标题:
PHP:
- $title = $rss->channel->title;
- <title><?php echo $title; ?></title>
或者是循环显示rss的各个ITEM节点
PHP:
- $rss->channel->item //这个是item
PHP:
- foreach ($rss->channel->item as $item) {
- echo "<h2>" . $item->title . "</h2>";
- echo "<p>" . $item->description . "</p>";
- }
一个简单但完整的RSS Reader
把上面的代码整合在一起,就是一个五脏俱全的麻雀牌RSS Reader了。
PHP:
- <?php
- // 载入并解析XML
- $rss = simplexml_load_file('http://partners.userland.com/nytRss/nytHomepage.xml');
- $title = $rss->channel->title;
- ?>
- <html xml:lang="en" lang="en">
- <head>
- <title><?php echo $title; ?></title>
- </head>
- <body>
- <h1><?php echo $title; ?></h1>
- <?php
- // 循环输出ITEM节点的说明
- foreach ($rss->channel->item as $item) {
- echo "<h2><a href='" . $item->link . "'>" . $item->title . "</a></h2>";
- echo "<p>" . $item->description . "</p>";
- }
- ?>
- </body>
- </html>
Simplexml,真的很simple,不信可以拿去和php的DOM function做下比较:)
- PHP5的Simplexml—实例
- PHP5的Simplexml
- PHP5的Simplexml
- php5的simplexml对象
- php5的simplexml对象
- 用PHP5的SimpleXML解析XML文档
- 用PHP5的SimpleXML解析XML文档
- php5中的simplexml
- php5中的simplexml
- php5中的simplexml
- SimpleXML 使用实例
- simplexml 使用实例
- php的SimpleXML方法读写XML接口文件实例解析
- php的SimpleXML方法读写XML接口文件实例解析
- SimpleXML 的使用
- SimpleXML
- simplexml
- simplexml
- C# 后台动态生成textbox
- 我的CSDN
- 获取动态textbox的Text
- "0x7c97cdf2"指令引用的"0x00000014"内存。该内存不能为”written"
- Java语言(二)
- PHP5的Simplexml—实例
- log4j
- 读取XML的节点属性并绑定到ListBox
- 用PHP如何判断一个文件的编码?
- 开源,也可以做出好产品
- spring 配置文件分解
- 遭遇kav32.exe,scvhost.exe,NXD.exe,WINMSCABC.IME,extext74296t.exe等1
- Yaffs文件系统结构 (转)
- PHP和Javascript的JSON交互(处理一个二维数组)