TEST.XML<?xml version="1.0" encoding="utf-8"?>
<series><article>
<url>http://www.news.sina.com.cn</url>
<title>news </title>
<summary>news infomation</summary>
</article><article>
<url>http://www.yule.sina.com.cn</url>
<title>amusement</title>
<summary>amusement infomation</summary>
</article><article>
<url>http://www.house.sina.com.cn</url>
<title>house</title>
<summary>house infomation</summary>
</article><article>
<url>http://www.shop.sina.com.cn</url>
<title>shop</title>
<summary>shop infomation </summary>
</article><article>
<url>http://www.economic.sina.com.cn</url>
<title>finance and economic</title>
<summary>finance and economic infomation</summary>
</article></series>
INDEX.PHP
<?php
/**
* 解析XML类
*
*/
class xmlParser
{
var $params = array();
/**
   * 读取XML文件
   *
   * @param unknown_type $file
   */
function xmlOpen($file){
  $fp = @fopen($file, "r");
   if (!$fp) die("不能打开数据源");
  //读取文件
  $this->data = fread($fp, filesize($file));
  fclose($fp);
  $this->xmlToArray();
}
/**
   * 把变量中数据导成数组
   *
   * @return unknown
   */
function xmlToArray()
{
  $level = array();
  $xml_parser = xml_parser_create();
  // 将xml文件读入数组
  xml_parse_into_struct($xml_parser, $this->data, $vals, $index);
  xml_parser_free($xml_parser);
   foreach ($vals as $xml_elem)
   {
   // 元素结点展开
   if ($xml_elem['type'] == 'open')
    {
     if (array_key_exists('attributes',$xml_elem))
     {
      list($level[$xml_elem['level']],$extra) = array_values($xml_elem['attributes']);
     }
     else
     {
     $level[$xml_elem['level']] = $xml_elem['tag'];
     }
    }
    if ($xml_elem['type'] == 'complete')
    {
    $start_level = 1;
    $php_stmt = '$this->params';
     while($start_level < $xml_elem['level'])
     {
     $php_stmt .= '[$level['.$start_level.']]';
     $start_level++;
     }
    $php_stmt .= '[$xml_elem[\'tag\']] = $xml_elem[\'value\'];';
     eval($php_stmt);
    }
   }
   Return $this->params;
}
//-----------------------------------------------------------------------------
}
$xml=new xmlParser();
$xml->xmlOpen("test.xml");
print $xml->xmlToArray();
?>这个类是从网上找来的,但是反复弄了,发现不行。新手,不知道错在那里,请指教?