ホームページ  >  記事  >  バックエンド開発  >  PHPを使用してXMLからデータを取得する方法

PHPを使用してXMLからデータを取得する方法

WBOY
WBOYオリジナル
2016-06-23 14:00:451028ブラウズ

'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);		var_dump($result->url->decode);

$xml = file_get_contents('http://box.zhangmen.baidu.com/x?op=12&count=1&title=大约在冬季$$齐秦$$$$');$result = simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA);$ret = (array)$result->url;echo $ret['encode']."<br/>";echo $ret['decode'];


http://zhangmenshiting.baidu.com/data2/music/64380827/Z2ZmbGVuaW9fn6NndK6ap5WXcJZtb5lsamRjaW2ZnJmTaWxraWmYcWdoa2drZ26ZaZhlmZaXa3CTZJeZmW1ncGVll1qin5t1YWBmbWlvcHFlZmxqaWttbDE$
64380827.mp3?xcode=b89b492058ceab79743a96683617a8f2eaa48b2ded70843d&mid=0.39499944964564

xml = file_get_contents('http://box.zhangmen.baidu.com/x?op=12&count=1&title=大约在冬季$$齐秦$$$$');$result = simplexml_load_string($xml);echo strval($result->url->encode);echo strval($result->url->decode);
http://zhangmenshiting.baidu.com/data2/music/64380827/Z2ZmbGVuaW9fn6NndK6ap5WXcGVpZpuaZJdrbGtqmm1mY2lolppnmpSXZWZubZyclmlmmZaXa3CTZJeZmW1ncGVll1qin5t1YWBmbGxsamxlaGVrbG9taTE$64380827.mp3?xcode=140db3e8864c55164ad0bce2297ede73eaa48b2ded70843d&mid=0.38763446277961

百度知道上已经有人给解答了,用DOM实现的,感觉没有你们写的简单。因为我不会PHP语法,所以这么简单的问题不会。。大家都对,结贴给分。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。