接收到类似下面一个xml文件,想把文件的内容分成对应的数组 输出出来,应该怎么处理
比如:
<title>我是个算命先生</title> 的“我是个算命先生”应该是个字段
<name>易之</name>的“易之”应该是个字段
<summary>***</summary>中间的内容
<db:attribute name="isbn10">7507424758</db:attribute> 中的“7507424758”
比如(最后得到类似的数据):$isbn10="7507424758";
$pages="245";
 <?xml version="1.0" encoding="UTF-8" ?> 
- <entry xmlns="http://www.w3.org/2005/Atom" xmlns:db="http://www.douban.com/xmlns/" xmlns:gd="http://schemas.google.com/g/2005" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:opensearch="http://a9.com/-/spec/opensearchrss/1.0/">
  <id>http://api.douban.com/book/subject/10506822</id> 
  <title>我是个算命先生</title> 
  <category scheme="http://www.douban.com/2007#kind" term="http://www.douban.com/2007#book" /> 
- <author>
  <name>易之</name> 
  </author>
  <link href="http://api.douban.com/book/subject/10506822" rel="self" /> 
  <link href="http://book.douban.com/subject/10506822/" rel="alternate" /> 
  <link href="http://img3.douban.com/spic/s8993763.jpg" rel="image" /> 
  <link href="http://m.douban.com/book/subject/10506822/" rel="mobile" /> 
  <summary>《我是个算命先生》内容简介:算命这个行当,萌芽于先秦,发展于隋唐,泛滥于明清;汉代张良、三国诸葛亮、明代刘伯温,不同时期的代表人物,都在手相、面相、八字、八卦中辨认着人类的命运。祖爷,生于1902年,卒年不详,民国时期名震大江南北的算命群体“江相派”掌门人。《沪报》将他与袁树珊、韦千里、徐乐吾并称为“民国四大算命宗师”,所谓“南袁北韦东乐吾,三仙归来问祖爷”。祖爷15岁开始为人算命,每算必中,令人咋舌;而后叱咤江湖30多年,留下无数不可思议的神算传奇与悬念;乃至于中原大战之前,山西军阀阎锡山也三顾茅庐,终于求得祖爷一卦。祖爷总说,看的是面相,算的是八字,捕捉的是问卦人脸上不断闪烁的欲望:贪婪、虚荣、妒忌、恐惧、傲慢——人的命运,确实写在脸上。祖爷一生几乎从未失手,唯一没有算到的,却是他自己的命运;面对凄凉晚景,他认为是自己泄露了太多天机…… 翻开《我是个算命先生》,让一个82岁的算命老先生带您见识算命背后的古老智慧与江湖猫腻。 海报:</summary> 
  <db:attribute name="isbn10">7507424758</db:attribute> 
  <db:attribute name="isbn13">9787507424751</db:attribute> 
  <db:attribute name="title">我是个算命先生</db:attribute> 
  <db:attribute name="pages">245</db:attribute> 
  <db:attribute name="author">易之</db:attribute> 
  <db:attribute name="price">29.90元</db:attribute> 
  <db:attribute name="publisher">中国城市出版社</db:attribute> 
  <db:attribute name="binding">平装</db:attribute> 
  <db:attribute name="pubdate">2012-2</db:attribute> 
  <db:attribute name="author-intro">易之,男,山东即墨人。8岁接触道家学派,12岁跟随当地异人合玄师傅修习四柱,大学师从国内知名玄学教授段景莲。现为中华周易协会常务理事。</db:attribute> 
  <db:tag count="585" name="算命" /> 
  <db:tag count="463" name="小说" /> 
  <db:tag count="197" name="骗局" /> 
  <db:tag count="137" name="社会分析" /> 
  <db:tag count="129" name="黑道学" /> 
  <db:tag count="112" name="社会" /> 
  <db:tag count="106" name="文化" /> 
  <db:tag count="89" name="中国" /> 
  <gd:rating average="7.0" max="10" min="0" numRaters="971" /> 
  </entry>
PHP正则表达式XML

解决方案 »

  1.   

    前面有个大侠 给了一段代码:
    preg_match_all('/>(.+)</mU',$s,$m);
    print_r($m[1]);
    这段代码可以把我要的内容输出出来,我想的是把他对应起来。<db:attribute name="isbn10">7507424758</db:attribute> 
      <db:attribute name="isbn13">9787507424751</db:attribute> 
      <db:attribute name="title">我是个算命先生</db:attribute> 
      <db:attribute name="pages">245</db:attribute> 
      <db:attribute name="author">易之</db:attribute> 
      <db:attribute name="price">29.90元</db:attribute> 
      <db:attribute name="publisher">中国城市出版社</db:attribute> 
      <db:attribute name="binding">平装</db:attribute> 
    $isbn10="7507424758";
    $pages="245";还有个问题 就是(类似<db:attribute name="title">数据项)isbn10,isbn13,title,pages等等,有些图书有,有些图书没有,所以我必须 能对应的取回参数对应的数据。
      

  2.   

    $s=<<<html<db:attribute name="isbn10">7507424758</db:attribute> 
      <db:attribute name="isbn13">9787507424751</db:attribute> 
      <db:attribute name="title">我是个算命先生</db:attribute> 
      <db:attribute name="pages">245</db:attribute> 
      <db:attribute name="author">易之</db:attribute> 
      <db:attribute name="price">29.90元</db:attribute> 
      <db:attribute name="publisher">中国城市出版社</db:attribute> 
      <db:attribute name="binding">平装</db:attribute>
    html;
    preg_match_all('/(name="(.+)")?>(.+)</mU',$s,$m);
    extract(array_combine($m[2],$m[3]));var_dump($isbn10,$title);