我想用PHP从enclosure标记中获取URL
这是我从RRS接收到的
<item>
<title>Kettingbotsing met auto's en vrachtwagen op A2</title>
<link>https://www.1limburg.nl/kettingbotsing-met-autos-en-vrachtwagen-op-a2</link>
<description><p>Drie auto&#39;s en een vrachtauto zijn woensdagochtend met elkaar gebotst op de A2.&nbsp;&nbsp;</p></description>
<pubDate>Wed, 21 Nov 2018 07:37:56 +0100</pubDate>
<guid permalink="true">https://www.1limburg.nl/kettingbotsing-met-autos-en-vrachtwagen-op-a2</guid>
<enclosure type="image/jpeg" url="https://www.1limburg.nl/sites/default/files/public/styles/api_preview/public/image_16_13.jpg?itok=qWaZAJ8v" />
</item>
这是我现在使用的代码
$xmlDoc = new DOMDocument();
$xmlDoc->loadXML($xml_string);
foreach ($xmlDoc->getElementsByTagName('item') as $node) {
$item = array(
'title' => $node->getElementsByTagName('title')->item(0)->nodeValue,
'img' => $node->getElementsByTagName('enclosure')->item(0)->attributes['url']->nodeValue
);
echo "<pre>";
var_dump($item);
echo "</pre>";
}
而这就是
array(2) {
["title"]=>
string(46) "Kettingbotsing met auto's en vrachtwagen op A2"
["img"]=>
string(10) "image/jpeg"
}
我目前正在获取enclosure标记的类型,但我正在搜索url。
有人能帮我吗,先谢谢
4条答案
按热度按时间polhcujo1#
作为使用DOMDocument的一种替代方法,在这种情况下使用SimpleXML要清楚得多(恕我直言)。
voase2hg2#
您需要使用
getAttribute()
而不是attributes
属性dzjeubhm3#
DOM支持Xpath表达式从XML中获取节点列表和单个值。
whlutmcx4#
一些简单的东西
我想应该可以工作吧?至少用simplexmlhttps://www.php.net/manual/en/book.simplexml.php可以