Foros del Web » Programando para Internet » PHP »

dudas con mostrar datos de un archivos xml

Estas en el tema de dudas con mostrar datos de un archivos xml en el foro de PHP en Foros del Web. saludos es que tengo este codigo del .xml <cws-status-resp ver="1.0"> <proxy-users count="1" login-failures="3"> <user name="7256-OUMM" display-name="Prueba" sessions="1"> <session host="1.1.2.2" id="127" count="1/1" active="true" profile="dish" client-id="Generic" protocol="Newcamd" ...
  #1 (permalink)  
Antiguo 04/06/2011, 01:28
(Desactivado)
 
Fecha de Ingreso: septiembre-2010
Mensajes: 498
Antigüedad: 13 años, 7 meses
Puntos: 5
dudas con mostrar datos de un archivos xml

saludos es que tengo este codigo del .xml

<cws-status-resp ver="1.0">
<proxy-users count="1" login-failures="3">
<user name="7256-OUMM" display-name="Prueba" sessions="1">
<session host="1.1.2.2" id="127" count="1/1" active="true" profile="dish" client-id="Generic" protocol="Newcamd"
context="UserID [0] CaID [1816] Providers [3] [00 01 01, 00 01 06, 00 01 02] Anonymous [Yes]" connected="Sat,
04 Jun 2011 01:52:11 -0500" duration="10m 9s" ecm-count="67" emm-count="0" pending-count="0" last-transaction="837" idle-time="7s"
flags="F" avg-ecm-interval="9"><service id="7780" cdata="1e64" name="nick "/>
</session>
</user>
</proxy-users>
</cws-status-resp>

y quiero mostrar lo que esta en color Rojo

ya que tengo este código para saber si esta conectado

Código PHP:
Ver original
  1. <?php
  2.     $conn = @mysql_connect($dbhost,$dbuser,$dbpass) or die ("Error connecting to database");
  3.     mysql_select_db($dbname, $conn);
  4.     $sql = mysql_query("SELECT * FROM cmum_settings WHERE id='1'");
  5.     $line=mysql_fetch_array($sql);
  6.             if ($line["fetchfromcsp"] == "1") {
  7.                 $cspsrv_ip = $line["cspsrv_ip"];
  8.                 $cspsrv_port = $line["cspsrv_port"];
  9.                 $cspsrv_user = $line["cspsrv_user"];
  10.                 $cspsrv_pass = $line["cspsrv_pass"];
  11.                 $cspsrv_protocol = $line["cspsrv_protocol"];
  12.                 $xml = simplexml_load_file($cspsrv_protocol."://".$cspsrv_user.":".$cspsrv_pass."@".$cspsrv_ip.":".$cspsrv_port."/xmlHandler?command=proxy-users&name=".$info["name"]);
  13.                 $proxyusers = "proxy-users";
  14.                 $onlinecount = $xml->$proxyusers->attributes()->count;
  15.                     if ($onlinecount == "0") {
  16.                         $userstate = "Offline";
  17.                     } else {
  18.                         $userstate = "Online";
  19.                     }
  20.             }
  21.     mysql_close($conn);
  22.     ?>

y para que lo muestre en el formulario asi

Código PHP:
Ver original
  1. <?php
  2.         if ($line["fetchfromcsp"] == "1") {
  3.             print("<tr><td width=\"100\">Estado:</td><td width=\"550\">".$userstate."</td></tr>");
  4.         }
  5.         ?>

como puedo hacer lo otro ya que estoy trancado con eso.
  #2 (permalink)  
Antiguo 04/06/2011, 08:24
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: dudas con mostrar datos de un archivos xml

Puedes SimpleXML o DOM y usar xpath para lograr mostrarlo.
Algo como
Código PHP:
Ver original
  1. <?php
  2. $xml = <<<XML
  3. <cws-status-resp ver="1.0">
  4. <proxy-users count="1" login-failures="3">
  5. <user name="7256-OUMM" display-name="Prueba" sessions="1">
  6. <session host="1.1.2.2" id="127" count="1/1" active="true" profile="dish" client-id="Generic" protocol="Newcamd"
  7. context="UserID [0] CaID [1816] Providers [3] [00 01 01, 00 01 06, 00 01 02] Anonymous [Yes]" connected="Sat,
  8. 04 Jun 2011 01:52:11 -0500" duration="10m 9s" ecm-count="67" emm-count="0" pending-count="0" last-transaction="837" idle-time="7s"
  9. flags="F" avg-ecm-interval="9"><service id="7780" cdata="1e64" name="nick "/>
  10. </session>
  11. </user>
  12. </proxy-users>
  13. </cws-status-resp>
  14. XML;
  15. $obj = new SimpleXMLElement($xml);
  16. $name = $obj->xpath('//service/@name');
  17. foreach($name as $k => $v){
  18.     echo $v->name;
  19. }
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 04/06/2011, 12:23
(Desactivado)
 
Fecha de Ingreso: septiembre-2010
Mensajes: 498
Antigüedad: 13 años, 7 meses
Puntos: 5
Respuesta: dudas con mostrar datos de un archivos xml

mira amigo lo que sucede es que este código no puedo tocarlo

Código PHP:
Ver original
  1. <?php
  2.     $conn = @mysql_connect($dbhost,$dbuser,$dbpass) or die ("Error connecting to database");
  3.     mysql_select_db($dbname, $conn);
  4.     $sql = mysql_query("SELECT * FROM cmum_settings WHERE id='1'");
  5.     $line=mysql_fetch_array($sql);
  6.             if ($line["fetchfromcsp"] == "1") {
  7.                 $cspsrv_ip = $line["cspsrv_ip"];
  8.                 $cspsrv_port = $line["cspsrv_port"];
  9.                 $cspsrv_user = $line["cspsrv_user"];
  10.                 $cspsrv_pass = $line["cspsrv_pass"];
  11.                 $cspsrv_protocol = $line["cspsrv_protocol"];
  12.                 $xml = simplexml_load_file($cspsrv_protocol."://".$cspsrv_user.":".$cspsrv_pass."@".$cspsrv_ip.":".$cspsrv_port."/xmlHandler?command=proxy-users&name=".$info["name"]);
  13.                 $proxyusers = "proxy-users";
  14.                 $onlinecount = $xml->$proxyusers->attributes()->count;
  15.                     if ($onlinecount == "0") {
  16.                         $userstate = "Offline";
  17.                     } else {
  18.                         $userstate = "Online";
  19.                     }
  20.             }
  21.     mysql_close($conn);
  22.     ?>

tengo que usar ese mismo código pero modificado para que coja el resultado del servicie ya que es se conecta a un proxy
  #4 (permalink)  
Antiguo 04/06/2011, 12:33
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: dudas con mostrar datos de un archivos xml

Decidete, ¿no puedes tocarlo o lo quieres midificar? Solo es cuestion de añadir el xpath a donde trabajes el xml. Solo te brinde un ejemplo.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 04/06/2011, 13:00
(Desactivado)
 
Fecha de Ingreso: septiembre-2010
Mensajes: 498
Antigüedad: 13 años, 7 meses
Puntos: 5
Respuesta: dudas con mostrar datos de un archivos xml

si lo se pero era a ver colo colocarlo con ese mismo código pero para mostrar otro datos ya que ese muestra si esta Online o Offline
  #6 (permalink)  
Antiguo 04/06/2011, 13:31
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: dudas con mostrar datos de un archivos xml

Pero trata el ejemplo que te indiqué en lo que tienes hecho. Solo es cuestión de llamar de indicar el atributo.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #7 (permalink)  
Antiguo 04/06/2011, 17:51
(Desactivado)
 
Fecha de Ingreso: septiembre-2010
Mensajes: 498
Antigüedad: 13 años, 7 meses
Puntos: 5
Respuesta: dudas con mostrar datos de un archivos xml

ok si voy a hacer el intento a ver que me muestra
  #8 (permalink)  
Antiguo 04/06/2011, 19:56
(Desactivado)
 
Fecha de Ingreso: septiembre-2010
Mensajes: 498
Antigüedad: 13 años, 7 meses
Puntos: 5
Respuesta: dudas con mostrar datos de un archivos xml

no me funciono ya que es para mostrar para todos los usuarios y solo muestra 1 cuanta sola

Etiquetas: dudas, xml
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:41.