无法读取xml <media:content>标记的属性值

时间:2016-11-23 15:05:05

标签: php xml dom rss

我正在尝试阅读媒体:内容 网址,但没有成功。怎么做?

  

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
}

1 个答案:

答案 0 :(得分: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
}