新手 PHP 程序员在这里(如果我什至可以这样称呼自己)。我目前正在研究一种循环遍历 XML 文档的方法,以获取不包含特定关键字的子对象的每个实例,然后显示结果。我能够做到上述,但只能使用找到的第一个子对象。
示例如下...
示例 XML 可能有多个以下实例,我试图<title>
从每个实例中获取不包含单词“Flood”或短语“没有活动的监视、警告或建议”的子元素。
<entry>
<id>http://alerts.weather.gov/cap/wwaatmget.php?x=OHC095&y=0</id>
<updated>2013-04-16T20:00:01+00:00</updated>
<author>
<name>w-nws.webmaster@noaa.gov</name>
</author>
<title>There are no active watches, warnings or advisories</title>
<link href='http://alerts.weather.gov/cap/wwaatmget.php?x=OHC095&y=0'/>
</entry>
变量
//Lucas Co. Weather
$xml_string = file_get_contents("../../cache/weather_alerts-lucas.xml");
$weather_alerts_lucas = simplexml_load_string($xml_string);
$lucas_alert = ($weather_alerts_lucas->entry->title);
$no_alert =('There are no active watches, warnings or advisories');
显示结果 第一个 if 语句确定是否应该有滚动条,第二个 if 语句确定是否应该显示特定县的信息(有多个县,但为了简单起见,我在这里只显示一个)。
if ("$lucas_alert"=="$no_alert" || fnmatch("*Flood*", $lucas_alert))
{
//Do Nothing.
} else {
echo "<div id='emergency_bar'>";
echo "<span class='scroll_font' ... ...'>";
if ("$lucas_alert"=="$no_alert" || fnmatch("*Flood*", $lucas_alert))
{
//Do Nothing.
} else {
echo "Lucas Co. - " . $lucas_alert . " // ";
}
echo "</span>";
echo "</div>";
}
如果我按照上面发布的方式进行操作,它只会抓取第一个结果,即使它抓取了多个实例,<title>
如果其中一个实例中包含“洪水”一词,它也不会显示任何内容。
提前致谢。我不是在找人为我写代码,只是一些方向。