Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/03/2014, 03:11
aeb_asturias
 
Fecha de Ingreso: marzo-2004
Mensajes: 550
Antigüedad: 20 años, 2 meses
Puntos: 7
Recuperar todo el contenido de una etiqueta en XML

Hola a todos/as,

Tengo un problema a la hora de leer un fichero XML y espero que alguien "me arroje" un poco de luz sobre ello.

En primer lugar, tengo un XML como éste:

Código:
<traducciones>
	<texto>
		<etiqueta1>title</keyword>
		<etiqueta2>La casa</traduccion>
	</texto>	
		
	<texto>
		<etiqueta1>texto</keyword>
		<etiqueta2>En la url<a href="marca.com">Marca</a>aparecen noticias deportivas </etiqueta2>
	</texto>
</traducciones>
A continuación tengo una función que me permite recuperar el contenido de "etiqueta2" a partir del contenido de "etiqueta1":

function getEtiqueta2($xml, $etiqueta1) {
$path='/traducciones/texto[etiqueta1="'.$etiqueta1.'"]';

$traducciones = $xml->xpath($path);
$traduccion=$traducciones[0];
return $traduccion->traduccion;

}


Mi problema surge cuando en el campo "etiqueta2" contiene a su vez mas etiquetas. Si veis el xml anterior, la segunda etiqueta2 es de la forma:

Código:
<etiqueta2>En la url<a href="marca.com">Marca</a>aparecen noticias deportivas </etiqueta2>
Y mi funcion getEtiqueta2() para ese caso me devuelve:

"En la url aparecen noticias deportivas"

No me recupera la parte del texto "<a href="marca.com">Marca</a>

Entiendo que puede ser porque se trata de una etiqueta dentro de otra etiqueta XML y eso no gusta.


Hay alguna manera de poder recuperar todo el contenido de "etiqueta2" aunque dentro de ella existan otras etiquetas?????


Saludos.