我试图解析以下XML:
<item><title><![CDATA[Van Gaal: Keep the faith]]></title><description><![CDATA[Manchester United manager Louis van Gaal is in a bullish mood ahead of Monday's trip to face West Brom in front of the Sky Sports cameras.]]>
</description><link>http://www1.skysports.com/football/news/11667/9520895/premier-league-manchester-united-boss-louis-van-gaal-remains-confident</link>
<guid isPermaLink="false">11661_9520895</guid>
<pubDate>Fri, 17 Oct 2014 16:48:00 GMT</pubDate>
<category>News Story</category>
<enclosure type="image/jpg" url="http://img.skysports.com/14/09/128x67/football-louis-van-gaal-manchester-united_3202836.jpg" length="123456" /></item>
我在PHP脚本中使用以下代码
$url = $xml->channel->attributes ()->items[$i]->enclosure->url;
但我没有太多运气获得图像的网址。我尝试过使用不起作用的attribute()函数。
任何建议都将不胜感激。
由于
答案 0 :(得分:1)
我建议在这种情况下使用foreach。而你几乎就是它。
foreach($xml->channel->item as $item) {
$url = (string) $item->enclosure->attributes()->url;
echo $url;
}
答案 1 :(得分:0)
您可以使用xpath“// enclosure / @ url”,它会检索所有网址
如果您只想要第一个网址“// enclosure [1] / @ url”
如果您使用的是simpleXML
$result = $xml->xpath("//enclosure/@url");
如果你正在使用DOMDocument
$xpath = new DOMXpath($yourdomdocumentobject);
$result= $xpath->query("//enclosure/@url");
xpath“// @ url”也应该有用。有很多解决方案。