日期:2014-05-16  浏览次数:20472 次

PHP如何取XML中数据
'http://box.zhangmen.baidu.com/x?op=12&count=1&title=大约在冬季$$齐秦$$$$'
这个接口提供了xml格式的文件,我用$xml = file_get_contents ( 'http://box.zhangmen.baidu.com/x?op=12&count=1&title=大约在冬季$$齐秦$$$$');取出来xml后如何得到里面的值,求PHP大神写出部分代码给我参考,感激不尽。

  $xml = file_get_contents('http://box.zhangmen.baidu.com/x?op=12&count=1&title=大约在冬季$$齐秦$$$$');
        $result = simplexml_load_string($xml);
        var_dump($result); 


打印结果
object(SimpleXMLElement)[1]
  public 'count' => string '1' (length=1)
  public 'url' => 
    object(SimpleXMLElement)[2]
      public 'encode' => 
        object(SimpleXMLElement)[5]
      public 'decode' => 
        object(SimpleXMLElement)[6]
      public 'type' => string '8' (length=1)
      public 'lrcid' => string '14706' (length=5)
      public 'flag' => string '1' (length=1)
  public 'durl' => 
    object(SimpleXMLElement)[3]
      public 'encode' => 
        object(SimpleXMLElement)[7]
      public 'decode' => 
        object(SimpleXMLElement)[8]
      public 'type' => string '8' (length=1)
      public 'lrcid' => string '14706' (length=5)
      public 'flag' => string '1' (length=1)
  public 'p2p' => 
    object(SimpleXMLElement)[4]
      public 'hash' => string 'd1cae9f7634c5aa3d54d7b1b1ad4c5b79b6e97ff' (length=40)
      public 'url' => 
        object(SimpleXMLElement)[9]
      public 'type' => string 'mp3' (length=3)
      public 'size' => string '5710896' (length=7)
      public 'bitrate' => string '192' (length=3)


我想取
<encode>
<![CDATA[
http://zhangmenshiting.baidu.com/data2/music/64380827/Z2ZmbGVuaW9fn6NndK6ap5WXcGhomGieaZSZaGpvmGxlY2tnZ5ebaWNpamaaaZlrk2lqmZaXa3CTZJeZmW1ncGVll1qin5t1YWBkbGVpb2tiZGxqZ2drajE$
]]>
</encode>
<decode>
<![CDATA[
64380827.mp3?xcode=43b1f8bf459a441832ad12772e3b3b77eaa48b2ded70843d&mid=0.18038312962142
]]>
</decode>
  encode里面的数据。。请问该怎么办,那个object(SimpleXMLElement)[5]的值怎么取出来。。
------解决方案--------------------
$xml = file_get_contents('http://box.zhangmen.baidu.com/x?op=12&count=1&title=大约在冬季$$齐秦$$$$');
  
        $result = simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA);