Parsing a xml in php -


i have xml feed has content

<dataroot xmlns:od="urn:schemas-microsoft-com:officedata" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"  xsi:nonamespaceschemalocation="propiedades.xsd" generated="2015-04-28t15:16:46"> <propiedades> <descripcion>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</descripcion> <foto1>http://www.alfredograf.com/fotoprop/mini-35751%20-%201.jpg</foto1> <foto2>http://www.alfredograf.com/fotoprop/mini-35751%20-%202.jpg</foto2> <foto3>http://www.alfredograf.com/fotoprop/mini-35751%20-%203.jpg</foto3> <foto4>http://www.alfredograf.com/fotoprop/mini-35751%20-%204.jpg</foto4> <foto5>http://www.alfredograf.com/fotoprop/mini-35751%20-%205.jpg</foto5> <foto6>http://www.alfredograf.com/fotoprop/mini-35751%20-%206.jpg</foto6> <foto7>http://www.alfredograf.com/fotoprop/mini-35751%20-%207.jpg</foto7> <foto8>http://www.alfredograf.com/fotoprop/mini-35751%20-%208.jpg</foto8> </propiedades> </dataroot> 

i wanted know how can extract images because every images have different xml name . fotos1,2,3 etc

you can use xpath query target node names starts foto, after getting nodes, use foreach:

$xml_string = '<dataroot xmlns:od="urn:schemas-microsoft-com:officedata" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"  xsi:nonamespaceschemalocation="propiedades.xsd" generated="2015-04-28t15:16:46"> <propiedades> <descripcion>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</descripcion> <foto1>http://www.alfredograf.com/fotoprop/mini-35751%20-%201.jpg</foto1> <foto2>http://www.alfredograf.com/fotoprop/mini-35751%20-%202.jpg</foto2> <foto3>http://www.alfredograf.com/fotoprop/mini-35751%20-%203.jpg</foto3> <foto4>http://www.alfredograf.com/fotoprop/mini-35751%20-%204.jpg</foto4> <foto5>http://www.alfredograf.com/fotoprop/mini-35751%20-%205.jpg</foto5> <foto6>http://www.alfredograf.com/fotoprop/mini-35751%20-%206.jpg</foto6> <foto7>http://www.alfredograf.com/fotoprop/mini-35751%20-%207.jpg</foto7> <foto8>http://www.alfredograf.com/fotoprop/mini-35751%20-%208.jpg</foto8> </propiedades> </dataroot>';  $xml = simplexml_load_string($xml_string); $fotos = $xml->xpath('//*[substring(name(), 1, 4) = "foto"]'); foreach($fotos $foto) {     echo $foto, '<br/>'; } 

sample output

if don't want use xpath route, use ->getname check node name , use normal php string functions check it:

$xml = simplexml_load_string($xml_string); foreach($xml->propiedades->children() $element) {     if(substr($element->getname(), 0, 4) === 'foto') {         echo $element, '<br/>';     } } 

sample output


Comments

Popular posts from this blog

php - failed to open stream: HTTP request failed! HTTP/1.0 400 Bad Request -

java - How to filter a backspace keyboard input -

java - Show Soft Keyboard when EditText Appears -