I’ve been working on this list that will provide information from an xml file. The markup I’m working with is as follows:
<?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
}
?>
What I’m trying to accomplish is changing the ‘Status’. Regardless of the element, the ‘Status’ only has two values and will always be either “Red” or “Blue”. What I’m trying to do is go through the whole document, find the “Status” attribute, see if the value is “Red”, then display an icon or some text, but if it’s blue, display nothing. I’ve come across different examples, but none that show this type of generality. Most of the examples were for locating a specific node and then displaying it’s attributes. I’m also trying to avoid, if possible, having to create this rule within each loop, but instead applying it to the whole document (if this seems like the best method.)
Use css selectors instead of javascript. That will make your code lighter and simple!
For example:
while your css can be:
we are using the concept of multiple css classes