私は、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
}
?>
私が達成しようとしているのは、「ステータス」を変更することです。要素に関係なく、「ステータス」には 2 つの値しかなく、常に「赤」または「青」のいずれかになります。私がやろうとしているのは、ドキュメント全体を調べて「ステータス」属性を見つけ、値が「赤」かどうかを確認してから、アイコンまたはテキストを表示しますが、青の場合は何も表示しません. さまざまな例に出くわしましたが、このタイプの一般性を示すものはありません。ほとんどの例は、特定のノードを見つけてその属性を表示するためのものでした。また、可能であれば、各ループ内でこのルールを作成する必要を避けようとしていますが、代わりにドキュメント全体に適用します (これが最善の方法のように思われる場合)。