php - PHP Simple XML 访问图像 url 元素值
问题描述
我正在编写一个 PHP 脚本来获取 rss 新提要并显示,使用 phpsimplexml_load_file
我设法显示提要的大部分内容,
但坚持访问图像链接。
我的代码在这里
$url = "https://www.nu.nl/rss/Algemeen";
$feeds = simplexml_load_file($url);
foreach ($feeds->channel->item as $item) {
$title = $item->title;
$link = $item->link;
$description = $item->description;
$postDate = $item->pubDate;
//to get the image
$imageurl = $item->enclosure->url;
//example output
echo "<h3 class='rstitle'>$title</h3><div class='rscont'>$description<div>";
}
但是另一个级别里面的图像属性
xml var_dump 的示例部分
object(SimpleXMLElement)#1 (2) {
["@attributes"]=>
array(1) {
["version"]=>
string(3) "2.0"
}
["channel"]=>
object(SimpleXMLElement)#2 (8) {
["title"]=>
string(13) "NU - Algemeen"
["link"]=>
string(26) "https://www.nu.nl/algemeen"
["description"]=>
string(37) "Het laatste nieuws het eerst op NU.nl"
["language"]=>
string(5) "nl-nl"
["copyright"]=>
string(22) "Copyright (c) 2019, NU"
["lastBuildDate"]=>
string(31) "Wed, 06 Feb 2019 10:41:00 +0100"
["ttl"]=>
string(2) "60"
["item"]=>
array(10) {
[0]=>
object(SimpleXMLElement)#3 (7) {
["title"]=>
string(74) "747.000 Nederlanders in laatste vijf jaar slachtoffer van huiselijk geweld"
["link"]=>
string(115) "https://www.nu.nl/binnenland/5726055/747000-nederlanders-in-laatste-vijf-jaar-slachtoffer-van-huiselijk-geweld.html"
["description"]=>
string(216) "In totaal 747.000 volwassen Nederlanders zijn in de afgelopen vijf jaar minstens één keer slachtoffer geweest van huiselijk geweld. Daarnaast krijgen jaarlijks 90.000 tot 127.000 kinderen te maken met mishandeling."
["pubDate"]=>
string(31) "Wed, 06 Feb 2019 10:21:36 +0100"
["guid"]=>
string(28) "https://www.nu.nl/-/5726055/"
["enclosure"]=>
object(SimpleXMLElement)#13 (1) {
["@attributes"]=>
array(3) {
["url"]=>
string(123) "https://media.nu.nl/m/m1nx2k0a3l3q_sqr256.jpg/747000-nederlanders-in-laatste-vijf-jaar-slachtoffer-van-huiselijk-geweld.jpg"
["length"]=>
string(1) "0"
["type"]=>
string(10) "image/jpeg"
}
}
["category"]=>
array(2) {
[0]=>
string(8) "Algemeen"
[1]=>
string(10) "Binnenland"
}
}
[1]=>
object(SimpleXMLElement)#4 (7) {
["title"]=>
string(68) "FvD en DENK willen in alle provincies meedoen aan Statenverkiezingen"
["link"]=>
string(108) "https://www.nu.nl/algemeen/5726574/fvd-en-denk-willen-in-alle-provincies-meedoen-aan-statenverkiezingen.html"
["description"]=>
string(206) "Forum voor Democratie (FvD) en DENK willen in alle twaalf provincies meedoen aan de Provinciale Statenverkiezingen op 20 maart. De Kiesraad heeft woensdag bekendgemaakt welke partijen zich hebben aangemeld."
["pubDate"]=>
string(31) "Wed, 06 Feb 2019 10:41:00 +0100"
["guid"]=>
string(28) "https://www.nu.nl/-/5726574/"
["enclosure"]=>
object(SimpleXMLElement)#13 (1) {
["@attributes"]=>
array(3) {
["url"]=>
string(118) "https://media.nu.nl/m/k82xoojacd24_sqr256.jpg/fvd-en-denk-willen-in-alle-provincies-meedoen-aan-statenverkiezingen.jpg"
["length"]=>
string(1) "0"
["type"]=>
string(10) "image/jpeg"
}
}
["category"]=>
array(2) {
[0]=>
string(8) "Algemeen"
[1]=>
string(8) "Politiek"
}
}
[2]=>
我试图通过访问图像 url $item->enclosure->url;
但它返回空数组
谁能帮我获取图片的网址,非常感谢
解决方案
$item->enclosure['url']
:)
属性由数组访问器访问
你也可以试试 xpath
$item->xpath('enclosure/@url')[0]
干杯!
推荐阅读
- git - 我正在寻找一个命令来查找修复我的提交的所有提交
- reactjs - 任何使用 Electron.js 的方式
组件到 React.js 应用程序中 - r - R:在用户制作的函数中使用中介时出现未定义的列错误
- dart - 如何在 setState 上更新 webview 的 url?
- python-3.x - 如何修复'TypeError:需要一个类似字节的对象,而不是'元组'''?
- java - 按下向上和向下箭头时,Java FX 无法识别 KeyCode.UP 或 KeyCode.Down (MacBook Pro 18 - Mojave 10.14.5)
- javascript - CkEditor5 - 无法在自定义插件中调用方法并且事件不起作用
- python-3.x - 获取 TypeError:类型集的对象不是 JSON 可序列化的,当尝试通过 REST-API 发布字典时
- base64 - 我已经编码了字符串,但我不知道它是什么类型
- java - 在 Hibernate 一对一关系中保存外键的问题