【问题标题】:Can't read attribute value of xml <media:content> tags无法读取 xml <media:content> 标签的属性值
【发布时间】:2016-11-23 15:05:05
【问题描述】:

我正在尝试读取 media:content url,但没有成功。怎么做?

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
}

【问题讨论】:

  • 试试 SimpleXML。 $xml = new SimpleXML(''); $attributes = $xml->item->attributes();
  • @WojtekB 是一个远程 xml 文件。
  • 在这里您可以找到the code to do it with SimpleXML
  • 您可以使用 file_get_content() 来加载远程文件。

标签: php xml dom rss


【解决方案1】:

也许是最糟糕的解决方案:

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
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-17
    • 2021-05-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多