Buenas tardes,
Tengo un XML con tres valores de tags que son Critical, Major y Minor, necesito contar en php cuantras alarmas son Critical, Major y Minor.
Quien me ayuda con esto:
El archivo XML es así:
<?xml version="1.0" encoding="UTF-8"?>
<Alarmas>
<Alarma Serial="439962" Fecha="2012-05-10 06:49:20-04:30">
<Nombre>MTP Link Send Overload</Nombre>
<Serial>439962</Serial>
<ID>1715</ID>
<Fecha>2012-05-10 06:49:20-04:30</Fecha>
<Info>Module No.=148, Link Name=ANSI-STPVAL-6(23), Sending load=40, Receiving load=26</Info>
<Severidad>Major</Severidad>
<Tipo_A>Fault</Tipo_A>
<Tipo_F>Exchange</Tipo_F>
<Tipo_E>Signaling</Tipo_E>
<Nodo_N>CSOFTX3000_ACA</Nodo_N>
<Nodo_T>CSOFTX3000</Nodo_T>
La llamada en php del XML es:
<?php
$url = "C:\TelnetWS3\AlarmasXML.xml";
$contenido_xml = "";
if($d = fopen($url, "r")){
while ($aux= fgets($d, 1024)){
$contenido_xml .= $aux;
}
fclose($d);
}else{
echo "No se pudo abrir el XML";
}
$xml =simplexml_load_string ($contenido_xml);
?>
La tabla donde muestra los datos del XML:
<table cellspacing="0" cellpadding="0" width="100%" class="tabla" action='' id="tab">
<tr>
<th width="2%"></th>
<th width="5%"></th>
<th width="15%"></th>
<th width="25%"></th>
<th width="8%"></th>
<th width="7%"></th>
<th width="5%"></th>
<th width="13%"></th>
<th width="8%"></th>
<th width="10%"></th>
</tr>
<?php
for($i=(count($xml->Alarma)-1); $i>=0; $i--){
$j=$xml->Alarma[$i]->Severidad;
if ($j==Critical)
echo '<tr><td width="2%" id="pru"> </td><td width="5%">'.$xml->Alarma[$i]->Severidad.'</td><td width="15%">'.$xml->Alarma[$i]->Nombre.'</td><td width="25%">'.$xml->Alarma[$i]->Info.'</td><td width="8%">'.$xml->Alarma[$i]->Serial.'</td><td width="7%">'.$xml->Alarma[$i]->ID.'</td><td width="5%">'.$xml->Alarma[$i]->Tipo_A.'</td><td width="13%">'.$xml->Alarma[$i]->Fecha.'</td><td width="8%">'.$xml->Alarma[$i]->Tipo_E.'</td><td width="10%">'.$xml->Alarma[$i]->Nodo_N.'</td></tr>';
else if ($j==Minor)
echo '<tr><td width="2%" id="pru2"> </td><td width="5%">'.$xml->Alarma[$i]->Severidad.'</td><td width="15%">'.$xml->Alarma[$i]->Nombre.'</td> <td width="25%">'.$xml->Alarma[$i]->Info.'</td><td width="8%">'.$xml->Alarma[$i]->Serial.'</td><td width="7%">'.$xml->Alarma[$i]->ID.'</td><td width="5%">'.$xml->Alarma[$i]->Tipo_A.'</td><td width="13%">'.$xml->Alarma[$i]->Fecha.'</td><td width="8%">'.$xml->Alarma[$i]->Tipo_E.'</td><td width="10%">'.$xml->Alarma[$i]->Nodo_N.'</td></tr>';
else if ($j==Major)
echo '<tr><td width="2%" id="pru3"> </td><td width="5%">'.$xml->Alarma[$i]->Severidad.'</td><td width="15%">'.$xml->Alarma[$i]->Nombre.'</td><td width="25%">'.$xml->Alarma[$i]->Info.'</td><td width="8%">'.$xml->Alarma[$i]->Serial.'</td><td width="7%">'.$xml->Alarma[$i]->ID.'</td><td width="5%">'.$xml->Alarma[$i]->Tipo_A.'</td><td width="13%">'.$xml->Alarma[$i]->Fecha.'</td><td width="8%">'.$xml->Alarma[$i]->Tipo_E.'</td><td width="10%">'.$xml->Alarma[$i]->Nodo_N.'</td></tr>';
else if ($j==Warning)
echo '<tr><td width="2%" id="pru1"> </td><td width="5%">'.$xml->Alarma[$i]->Severidad.'</td><td width="15%">'.$xml->Alarma[$i]->Nombre.'</td><td width="25%">'.$xml->Alarma[$i]->Info.'</td><td width="8%">'.$xml->Alarma[$i]->Serial.'</td><td width="7%">'.$xml->Alarma[$i]->ID.'</td><td width="5%">'.$xml->Alarma[$i]->Tipo_A.'</td><td width="13%">'.$xml->Alarma[$i]->Fecha.'</td><td width="8%">'.$xml->Alarma[$i]->Tipo_E.'</td><td width="10%">'.$xml->Alarma[$i]->Nodo_N.'</td></tr>';
}
?>
Quiero es que me diga: POR EJEMPLO
Critical: 5 Alarmas
Major: 2 Alarmas
Minor: 0 Alarmas