Foros del Web » Programación para mayores de 30 ;) » Programación General »

Obtener datos de la etiqueta

Estas en el tema de Obtener datos de la etiqueta en el foro de Programación General en Foros del Web. Hola a todos Soy bastante nuevo en el tema de xml, pero estoy empezando y tengo un problema Tengo un xml del tipo <tablas url="datosdeurl"> ...
  #1 (permalink)  
Antiguo 08/09/2009, 15:08
 
Fecha de Ingreso: febrero-2002
Ubicación: Badalona
Mensajes: 29
Antigüedad: 22 años, 2 meses
Puntos: 0
Obtener datos de la etiqueta

Hola a todos

Soy bastante nuevo en el tema de xml, pero estoy empezando y tengo un problema

Tengo un xml del tipo

<tablas url="datosdeurl">

<tabla dato="valor1" tot="valor2">
<trayecto tip="tipo1" ori="ori1"/>
<trayecto tip="tipo2" ori="ori2"/>
</tabla>

<tabla dato="valor2" tot="valor3">
<trayecto tip="tipo3" ori="ori3"/>
<trayecto tip="tipo4" ori="ori4"/>
</tabla>

<tabla dato="valor4" tot="valor5">
<trayecto tip="tipo5" ori="ori5"/>
<trayecto tip="tipo6" ori="ori6"/>
</tabla>


Del que quiero recuperar los valores de url,dato,tip y ori mediante php

Llevo parseados algunos xml pero nunca he teindo de recuperar datos en xml de este tipo.

Agradeceria mucho cualquier ayuda.
  #2 (permalink)  
Antiguo 09/09/2009, 08:57
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: Obtener datos de la etiqueta

Usas simplexml o DOM?

Yo me valgo de XPath para recuperar atributos. Algo asi en DOM:

$xpath = new DOMXPath($xml);
$elegido = $xpath->query("//tabla[@atributo = '".$valor."']");

nota: DOM esta bueno para setear valores. Quizas simplexml sea lo mejor para vos, que solo queres recuperar datos.
  #3 (permalink)  
Antiguo 09/09/2009, 09:05
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: Obtener datos de la etiqueta

Proba esto:

$xml = simplexml_load_file ($archivo_xml);

$buscar = "//item[@atributo='".$valor."']";
$descripcion = $xml->xpath($buscar);

if ($descripcion[0] != false) { echo $descripcion[0] }



Y si quisieras el valor de un elemento hijo:

$busqueda = "//item[@id='".$valor."']/titulo"; // donde titulo es el elemento hijo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:01.