【发布时间】:2013-01-23 09:57:23
【问题描述】:
我一直在处理这个列表,它将提供来自 xml 文件的信息。我正在使用的标记如下:
<?php
$xml_file = '/path';
$xml = simplexml_load_file($xml_file);
foreach($xml->Continent as $continent) {
echo "<div class='continent'>".$continent['Name']."<span class='status'>".$continent['Status']."</span>";
foreach($continent->Country as $country) {
echo "<div class='country'>".$country['Name']."<span class='status'>".$country['Status']."</span>";
foreach($country->City as $city) {
echo "<div class='city'>".$city['Name']."<span class='status'>".$city['Status']."</span></div>";
}
echo "</div>"; // close Country div
}
echo "</div>"; // close Continent div
}
?>
我想要完成的是更改“状态”。不管元素是什么,“状态”只有两个值,并且总是“红色”或“蓝色”。我要做的是遍历整个文档,找到“状态”属性,查看值是否为“红色”,然后显示一个图标或一些文本,但如果它是蓝色的,则不显示任何内容。我遇到过不同的例子,但没有一个能表现出这种普遍性。大多数示例用于定位特定节点,然后显示它的属性。如果可能的话,我还试图避免在每个循环中创建此规则,而是将其应用于整个文档(如果这似乎是最好的方法。)
【问题讨论】:
-
你想用 PHP 改变状态?还是JavaScript?如果是 PHP,你为什么用 javascript 标记你的问题?
-
我正在寻找最合适的方法,无论是 PHP 还是 javascript。我不想更改该值,我只想根据该值控制 html 输出 - 幸运的是,Orbit 中的 Lightness Races 为我更改了标题。 :)
-
如果只是为了美观,您可以使用条件样式。
标签: php javascript xml xml-parsing simplexml