<?php
$xml=simplexml_load_file("https://www.vegvesen.no/trafikk/xml/savedsearch.rss?id=604") or die("Error: Cannot create object");
foreach ($xml->children() as $items) {
echo "<pre>";
print_r($items);
echo "</pre>";
echo $items->title;
echo $items->description;
}
?>
在此示例中,我试图搜索一个名称特殊的标题(参见照片):“ Ev 134 Haukelifjell(Vestfold和Telemark / Vestland)”。找到之后,我只想显示标有黄色的标题后面的描述(参见照片)。可以用xml完成吗?
图片参考:Output
最近的帖子由于重复而被删除,如果是这种情况,也可以请参阅我所描述问题的特定位置。我对编码非常陌生,并不了解很多。
我不确定这是否正是您要寻找的,但是您可以在此处使用xpath(并将其修改为所需的输出);因此,请尝试以下版本:
foreach ($xml->xpath('//item/title[contains(text(),"134 Haukelifjell")]/text()') as $items)
{
echo $items;
foreach ($items->xpath('./following-sibling::description/text()') as $desc)
echo $desc;
}
我得到此输出:
Ev 134 Haukelifjell (Vestland/Vestfold og Telemark) Vær- og føreforhold: Snø- og isdekke. Klokken 18:15 var det -5 grader, laber bris og skyet. Gjelder fra: 09.01.2020 18:17
您正在尝试解析RSS feed,因此您可以这样操作:
function Feed($url) {
$feed = simplexml_load_file($url);
$result = array();
foreach ($feed->channel->item as $content) {
array_push($result, $content);
}
return $result;
}
$title = 'Ev 134 Haukelifjell'; // The title you want to search for
foreach(Feed('https://www.vegvesen.no/trafikk/xml/savedsearch.rss?id=604') as $f ) {
if (strpos($f->title, $title) !== false)
echo $f->description;
}
输出:
Vær- og føreforhold: Snø- og isdekke. Klokken 23:05 var det -7 grader, svak vind og klart. Gjelder fra: 09.01.2020 23:14