Ver Mensaje Individual
  #2 (permalink)  
Antiguo 21/09/2011, 06:42
Avatar de abimaelrc
abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: duda de poder leer linia en un xml

¿Algo así?
Código PHP:
Ver original
  1. <?php
  2. $stringXml = '<?xml version="1.0" encoding="UTF-8"?>
  3. <cws-status-resp ver="1.0">
  4.     <proxy-users count="3" login-failures="2">
  5.         <user name="admin" display-name="admin" sessions="1">
  6.             <session host="208.109.243.3" id="2" count="1/1" active="true" profile="*" client-id="Csp 0.9.0" protocol="Csp" context="Dummy" connected="True" last-zap="Os" idle-time="Os" flags="Fz" avg-ecm-interval="2">
  7.                 <service id="184" cdata="00b8" name="184 Animal Planet" profile="dish" />
  8.             </session>
  9.         </user>
  10.     </proxy-users>
  11. </cws-status-resp>';
  12. $doc = new DOMDocument();
  13. $doc->loadXML($stringXml);
  14. $xpath = new DOMXpath($doc);
  15. $entries = $xpath->query("//service");
  16. foreach($entries as $val){
  17.     if($val->hasAttributes()){
  18.         foreach($val->attributes as $k => $v){
  19.             echo $k . ' = ' . $v->nodeValue . '<br />';
  20.         }
  21.     }
  22. }

Edito: También está esta forma

Código PHP:
Ver original
  1. <?php
  2. $stringXml = '<?xml version="1.0" encoding="UTF-8"?>
  3. <cws-status-resp ver="1.0">
  4.     <proxy-users count="3" login-failures="2">
  5.         <user name="admin" display-name="admin" sessions="1">
  6.             <session host="208.109.243.3" id="2" count="1/1" active="true" profile="*" client-id="Csp 0.9.0" protocol="Csp" context="Dummy" connected="True" last-zap="Os" idle-time="Os" flags="Fz" avg-ecm-interval="2">
  7.                 <service id="184" cdata="00b8" name="184 Animal Planet" profile="dish" />
  8.             </session>
  9.         </user>
  10.     </proxy-users>
  11. </cws-status-resp>';
  12. $doc = new DOMDocument();
  13. $doc->loadXML($stringXml);
  14. $xpath = new DOMXpath($doc);
  15. $entries = $xpath->query("//service");
  16. foreach($entries as $key => $val){
  17.     if($val->hasAttribute('id')){
  18.         echo $val->getAttribute('id');
  19.     }
  20.     if($val->hasAttribute('name')){
  21.         echo $val->getAttribute('name');
  22.     }
  23. }

Evita usar etiquetas cortas <?, te puede dar conflictos con XML.

PD: Trata a la próxima escribir o copiar y pegar el xml o el string a trabajar así uno no se toma mucho tiempo en crear el ambiente para poder ver el resultado.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Última edición por abimaelrc; 21/09/2011 a las 06:58 Razón: Añadir otro código...