2016-11-23 71 views
0

我試圖讀取媒體:內容url,沒有成功。怎麼做?無法讀取xml <media:content>標記的屬性值

XML

<rss> 
<item> 
     <media:content url="pizza.jpg"> 
     <media:text>Pizza</media:text> 
     </media:content> 
</item> 
<item> 
     <media:content url="pasta.jpg"> 
     <media:text>Pasta</media:text> 
     </media:content> 
</item> 
</rss> 

PHP

$xmlDoc = new DOMDocument(); 
$xmlDoc->load('file.xml'); 
$x=$xmlDoc->getElementsByTagName('item'); 
for ($i=0; $i<=2; $i++) { 
    $item_img=$x->item($i)->getElementsByTagName('media:content')->item(0)->getAttribute('url'); 
    echo $item_img 
} 
+0

試試SimpleXML。 $ xml = new SimpleXML(''); $ attributes = $ xml-> item-> attributes(); –

+0

@WojtekB是一個遠程xml文件。 – Vixed

+0

在這裏您可以找到[使用SimpleXML執行代碼](http://stackoverflow.com/questions/1575788/php-library-for-parsing-xml-with-a-colons-in-tag-names)。 –

回答

0

也許最壞的解決方案:

PHP

$xmlText= file_get_contents('file.xml'); 
$xmlText=str_replace('<media:', '<media', $xmlText); 
$xmlText=str_replace('</media:', '</media', $xmlText); 
$xmlDoc = new DOMDocument(); 
$xmlDoc-> loadXML($xmlText); 
$x=$xmlDoc->getElementsByTagName('item'); 
for ($i=0; $i<=2; $i++) { 
    $item_img=$x->item($i)->getElementsByTagName('mediacontent')->item(0)->getAttribute('url'); 
    echo $item_img 
}