1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
| $xml = <<< EOX
<Alertes>
<alerte1>0</alerte1> <!-- si 1 Affiche un feu rouge -->
<alerte2>1</alerte2> <!-- si 1 Affiche un feu orange -->
<alerte3>0</alerte3> <!-- si 1 Affiche un feu rouge -->
</Alertes>
EOX;
/* Version SimpleXML */
#$sxml = simplexml_load_file('xml/Alarmes/Alarmes.xml');
$sxml = simplexml_load_string($xml);
$rouge = $orange = $vert = 0;
$assoc = array(
'alerte1' => 'rouge',
'alerte2' => 'orange',
'alerte3' => 'vert'
);
foreach ($sxml->children() as $c) {
if (isset($assoc[$c->getName()]) && intval($c) == 1) {
${$assoc[$c->getName()]}++;
}
}
if ($rouge) {
echo'feu rouge';
} elseif ($orange) {
echo 'feu orange';
} else {
echo 'feu vert';
}
/* Version DOM */
$dom = new DomDocument;
$dom->preserveWhiteSpace = FALSE;
#$dom->load('xml/Alarmes/Alarmes.xml');
$dom->loadXML($xml);
$rouge = $orange = $vert = 0;
$assoc = array(
'alerte1' => 'rouge',
'alerte2' => 'orange',
'alerte3' => 'vert'
);
foreach ($dom->documentElement->childNodes as $c) {
if (isset($assoc[$c->nodeName]) && $c->nodeValue == '1') {
${$assoc[$c->nodeName]}++;
}
}
if ($rouge) {
echo'feu rouge';
} elseif ($orange) {
echo 'feu orange';
} else {
echo 'feu vert';
} |