Código XML:
Ver original
<?xml version="1.0" encoding="UTF-8"?> <lugares> <lugar ciudad="ciudad-1"> <marcador>sitio1</marcador> <latitud>41.371366</latitud> <longitud>2.151686</longitud> <descripcion>descripcion sitio 1</descripcion> </lugar> <lugar ciudad="ciudad-1"> <marcador>sitio2</marcador> <latitud>42.371366</latitud> <longitud>3.151686</longitud> <descripcion>descripcion sitio 2</descripcion> </lugar> <lugar ciudad="ciudad-2"> <marcador>sitio primero</marcador> <latitud>41.403419</latitud> <longitud>2.174851</longitud> <descripcion>descripcion sitio primero</descripcion> </lugar> </lugares>
Como ven no es nada raro y utilizo el atributo ciudad para distinguir que lugar es de una ciudad u otra.
Como la idea es que el xml ira creciendo con el tiempo necesito extraer de la manera mas eficiente el atributo de ciudad, como en este ejemplo ciudad-1 y ciudad-2. Si lo hago con un ciclo foreach para este ejemplo me tocaria hacer tres iteraciones aun cuando solo necesito dos datos. Mi idea es sacar el dato de este xml para no manejar un xml para las ciudades y otro para las descripciones con el fin de no depender de estar actualizando dos xml al tiempo.
Me gustaria saber si existe alguna manera mas eficiente para obtener el dato sin tener que recorrer todo el xml o reescribiendo el xml. Agradezco sus sugerencias y colaboración.