¿Algo así?
Código PHP:
Ver original<?php
$stringXml = '<?xml version="1.0" encoding="UTF-8"?>
<cws-status-resp ver="1.0">
<proxy-users count="3" login-failures="2">
<user name="admin" display-name="admin" sessions="1">
<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">
<service id="184" cdata="00b8" name="184 Animal Planet" profile="dish" />
</session>
</user>
</proxy-users>
</cws-status-resp>';
$doc = new DOMDocument();
$doc->loadXML($stringXml);
$xpath = new DOMXpath($doc);
$entries = $xpath->query("//service");
foreach($entries as $val){
if($val->hasAttributes()){
foreach($val->attributes as $k => $v){
echo $k . ' = ' . $v->nodeValue . '<br />';
}
}
}
Edito: También está esta forma
Código PHP:
Ver original<?php
$stringXml = '<?xml version="1.0" encoding="UTF-8"?>
<cws-status-resp ver="1.0">
<proxy-users count="3" login-failures="2">
<user name="admin" display-name="admin" sessions="1">
<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">
<service id="184" cdata="00b8" name="184 Animal Planet" profile="dish" />
</session>
</user>
</proxy-users>
</cws-status-resp>';
$doc = new DOMDocument();
$doc->loadXML($stringXml);
$xpath = new DOMXpath($doc);
$entries = $xpath->query("//service");
foreach($entries as $key => $val){
if($val->hasAttribute('id')){
echo $val->getAttribute('id');
}
if($val->hasAttribute('name')){
echo $val->getAttribute('name');
}
}
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.