2014-05-14 54 views
0

我有一個用來解析XML數據的PHP代碼,但它不工作,我的PHP代碼看起來如下:PHP:SimpleXML的解析節點

<?php 
      $xml = '<?xml version="1.0" encoding="utf-8"?> 
       <videos> 
        <video> 
         <id>751985</id> 
         <embed><![CDATA[somehtmlcode]]></embed> 
         <thumbs> 
          <thumb><![CDATA[http://example.com/images/thum01.jpg></thumb> 
          <thumb><![CDATA[http://example.com/images/thum02.jpg></thumb> 
          <thumb><![CDATA[http://example.com/images/thum03.jpg></thumb> 
          <thumb><![CDATA[http://example.com/images/thum04.jpg></thumb> 
          <thumb><![CDATA[http://example.com/images/thum05.jpg></thumb> 
          <thumb><![CDATA[http://example.com/images/thum06.jpg></thumb> 
          <thumb><![CDATA[http://example.com/images/thum07.jpg></thumb> 
          <thumb><![CDATA[http://example.com/images/thum08.jpg></thumb> 
         </thumbs> 
         <link><![CDATA[http://example.com/001]]></link> 
         <title><![CDATA[Some cool title 1]]></title> 
         <categories> 
          <category><![CDATA[Cat1]]></category> 
          <category><![CDATA[Cat2]]></category> 
          <category><![CDATA[Cat3]]></category> 
          <category><![CDATA[Cat4]]></category> 
         </categories> 
         <tags> 
          <tag><![CDATA[tag1]></tag> 
          <tag><![CDATA[tag2]></tag> 
          <tag><![CDATA[tag3]></tag> 
         </tags> 
         <someone> 
         </someone> 
         <duration><![CDATA[8:17]]></duration> 
         <pubDate><![CDATA[2014-05-14]]></pubDate> 
        </video> 
        <video> 
         <id>751988</id> 
         <embed><![CDATA[somehtmlcode]]></embed> 
         <thumbs> 
          <thumb><![CDATA[http://example.com/images/thum01.jpg></thumb> 
          <thumb><![CDATA[http://example.com/images/thum02.jpg></thumb> 
          <thumb><![CDATA[http://example.com/images/thum03.jpg></thumb> 
          <thumb><![CDATA[http://example.com/images/thum04.jpg></thumb> 
          <thumb><![CDATA[http://example.com/images/thum05.jpg></thumb> 
          <thumb><![CDATA[http://example.com/images/thum06.jpg></thumb> 
          <thumb><![CDATA[http://example.com/images/thum07.jpg></thumb> 
          <thumb><![CDATA[http://example.com/images/thum08.jpg></thumb> 
         </thumbs> 
         <link><![CDATA[http://example.com/001]]></link> 
         <title><![CDATA[Some cool title 1]]></title> 
         <categories> 
          <category><![CDATA[Cat1]]></category> 
          <category><![CDATA[Cat2]]></category> 
          <category><![CDATA[Cat3]]></category> 
          <category><![CDATA[Cat4]]></category> 
         </categories> 
         <tags> 
          <tag><![CDATA[tag1]></tag> 
          <tag><![CDATA[tag2]></tag> 
          <tag><![CDATA[tag3]></tag> 
         </tags> 
         <someone> 
         </someone> 
         <duration><![CDATA[8:17]]></duration> 
         <pubDate><![CDATA[2014-05-14]]></pubDate> 
        </video> 
       </videos>'; 



     $sxe = simplexml_load_string($xml);  

     foreach ($sxe->video as $videoChild) { 
     echo $videoChild->id; 
     echo $videoChild->title; 


     } 

?> 

它沒有得到節點的值,我需要獲取ID,嵌入,縮略圖,鏈接,標題,沒有CDATA標籤。任何幫助都會很棒。

+0

它的回聲'<![CDATA [somehtmlcode]!> '還是一無所有?爲什麼甚至使用CDATA部分? –

+0

正確地爲'thumb'和'tag'標籤關閉您的''。在關閉xml標籤 – Ejaz

回答

1
<thumb><![CDATA[http://example.com/images/thum01.jpg></thumb> 

了[CDATA]東西都沒有正確關閉,simplexml_load_string()不一樣,

嘗試

<thumb><![CDATA[http://example.com/images/thum01.jpg]]></thumb> 
+0

之前必須有']]>''''但是如何在foreach中使用foreach來獲取全部的拇指url? – user1353563

+0

目前我只能使用第一個拇指網址: foreach($ videoChild-> thumbs as $ thumbChild){ echo $ thumbChild-> thumb。「\ n」; } – user1353563

+0

沒有更多答案?我需要循環到拇指才能得到拇指 – user1353563