Analisando um xml em php

Eu tenho um feed XML que tem conteúdo como esse

  Excelente casa de dos pisos en condominio en la urbanización Santa Maria De Villa Club, en Carabayllo, con un AT:92m2 y un AC:113m2, cuenta con 3 iluminadas habitaciones, 3 baños, cochera, de estreno, con áreas verdes, piscina, cancha de fútbol, salones para actividades. ¡Para más información contactarse con nuestros agente!ID: 35751 http://img.bestphpide.com/php/mini-35751 - 1.jpg http://img.bestphpide.com/php/mini-35751 - 2.jpg http://img.bestphpide.com/php/mini-35751 - 3.jpg http://img.bestphpide.com/php/mini-35751 - 4.jpg http://img.bestphpide.com/php/mini-35751 - 5.jpg http://img.bestphpide.com/php/mini-35751 - 6.jpg http://img.bestphpide.com/php/mini-35751 - 7.jpg http://img.bestphpide.com/php/mini-35751 - 8.jpg   

Eu queria saber como extrair as imagens porque todas as imagens têm um nome XML diferente. como Fotos1,2,3 etc

Você pode usar uma consulta xpath para segmentar os nomes dos nós que começam com Foto , depois de obter esses nós, use apenas foreach :

 $xml_string = '  Excelente casa de dos pisos en condominio en la urbanización Santa Maria De Villa Club, en Carabayllo, con un AT:92m2 y un AC:113m2, cuenta con 3 iluminadas habitaciones, 3 baños, cochera, de estreno, con áreas verdes, piscina, cancha de fútbol, salones para actividades. ¡Para más información contactarse con nuestros agente!ID: 35751 http://img.bestphpide.com/php/mini-35751 - 1.jpg http://img.bestphpide.com/php/mini-35751 - 2.jpg http://img.bestphpide.com/php/mini-35751 - 3.jpg http://img.bestphpide.com/php/mini-35751 - 4.jpg http://img.bestphpide.com/php/mini-35751 - 5.jpg http://img.bestphpide.com/php/mini-35751 - 6.jpg http://img.bestphpide.com/php/mini-35751 - 7.jpg http://img.bestphpide.com/php/mini-35751 - 8.jpg  '; $xml = simplexml_load_string($xml_string); $fotos = $xml->xpath('//*[substring(name(), 1, 4) = "Foto"]'); foreach($fotos as $foto) { echo $foto, '
'; }

Saída de amostra

Se você não quiser usar a rota xpath, basta usar ->getName para verificar o nome do nó e usar funções de string PHP normais para verificar:

 $xml = simplexml_load_string($xml_string); foreach($xml->propiedades->children() as $element) { if(substr($element->getName(), 0, 4) === 'Foto') { echo $element, '
'; } }

Saída de amostra

Você pode acessar crianças usando children()

Tente abaixo do código:

 < ?php $s =<<  Excelente casa de dos pisos en condominio en la urbanización Santa Maria De Villa Club, en Carabayllo, con un AT:92m2 y un AC:113m2, cuenta con 3 iluminadas habitaciones, 3 baños, cochera, de estreno, con áreas verdes, piscina, cancha de fútbol, salones para actividades. ¡Para más información contactarse con nuestros agente!ID: 35751 http://img.bestphpide.com/php/mini-35751 - 1.jpg http://img.bestphpide.com/php/mini-35751 - 2.jpg http://img.bestphpide.com/php/mini-35751 - 3.jpg http://img.bestphpide.com/php/mini-35751 - 4.jpg http://img.bestphpide.com/php/mini-35751 - 5.jpg http://img.bestphpide.com/php/mini-35751 - 6.jpg http://img.bestphpide.com/php/mini-35751 - 7.jpg http://img.bestphpide.com/php/mini-35751 - 8.jpg   EOS; $xml = simplexml_load_string($s); foreach ($xml->propiedades as $element) { foreach($element->children() as $key => $val) { echo "{$key}: {$val}"; } } ?> 

Sim, você pode fazer isso,

 $xml = simplexml_load_string($string); 

Coloque seu conteúdo inteiro xml em string,

e use referência aqui http://www.w3schools.com/php/func_simplexml_load_string.asp