PHP 中的 SimpleXML 处理

时间:2010-01-16 10:38:04   来源:第二电脑网  作者:第二电脑网

  第二电脑网导读:mpleXML 中,下面的这样的表达式:        $doc->rss->channel->item->title           从文档中选择元素。只要熟悉文档的结构,很容易编写这种表达式。但是,如果不很清楚需要的元素出现在何处(比如 Docbook、HTML 和类似的叙述性文档中),SimpleXML 可以使用 XPath 表达式寻找这些元素...
  正文:

了解和 PHP 版本 5 捆绑到一起的 SimpleXML 扩展,它使 PHP 页面能够以 PHP 友好的语法来查询、搜索、修改和重新发布 XML。
  
    PHP 版本 5 引入了 SimpleXML,一种用于读写 XML 的新的应用程序编程接口(API)。在 SimpleXML 中,下面的这样的表达式:
  
    $doc->rss->channel->item->title
  
  
    从文档中选择元素。只要熟悉文档的结构,很容易编写这种表达式。但是,如果不很清楚需要的元素出现在何处(比如 Docbook、HTML 和类似的叙述性文档中),SimpleXML 可以使用 XPath 表达式寻找这些元素。
  
    开始使用 SimpleXML
  
    假设需要一个 PHP 页面将 RSS 提要(feed)转化成 HTML。RSS 是一种简单的 XML 格式用于发布连锁内容。文档的根元素是 rss,它包括一个 channel 元素。channel 元素包含关于提要的元数据,如标题、语言和 URL。它还包含各种封装在 item 元素中的报道。每个 item 都有一个 link 元素,包括一个 URL,还有 title 或 description(通常两者都有),包含普通文本。不使用名称空间。RSS 的内容当然不止这些,不过对本文来说知道这些就足够了。清单 1 显示了一个典型的例子,它包含两个新闻项。
  
    清单 1. RSS 提要
  
  <?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/ target=_blank class=infotextkey>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>
  
  
    我们来开发一个 PHP 页面将 RSS 提要格式化为 HTML。清单 2 显示了这个页面的基础结构。
  
    清单 2. PHP 代码的静态结构
  
  <?php // Load and parse the XML document ?>
  <html xml:lang="en" lang="en">
  <head>
   <title><?php // The title will be read from the RSS ?></title>
  </head>
  <body>
  
  <h1><?php // The title will be read from the RSS again ?></h1>
  
  <?php
  // Here we'll put a loop to include each item's title and description
  ?>
  
  </body>
  </html>
  
来源:http://www.002pc.com/master/College/Programming/PHP/11955.html

收藏到:

关于《PHP 中的 SimpleXML 处理》文章的评论

共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面

随机文章

    SQL Error: select * from ***_ecms_article where classid='86' and checked=1 order by rand() limit 10

顶出来的热门

    SQL Error: select * from ***_ecms_article where classid='86' and checked=1 order by diggtop desc,id desc limit 10
站内搜索: 高级搜索

热门搜索: Windows style 系统 tr IP QQ CPU 安装 function 注册 if td