Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/10/2008, 02:07
luismanolo
 
Fecha de Ingreso: octubre-2008
Mensajes: 1
Antigüedad: 15 años, 7 meses
Puntos: 0
Cargar xlm de la web del Catastro en España

Hola.
Estoy buscando en el foro respuesta a mi problema pero no la encuentro.
El problema lo tengo porque trato de leer los datos de provincias del los servicios xml del catastro de España que contienen datos sobre calles, números, províncias, etc.

El contenido del archivo es:
Código:
<?xml version="1.0" encoding="utf-8"?>

<consulta_provinciero xmlns="http://www.catastro.meh.es/">

  <control>

    <cuprov>48</cuprov>

  </control>

  <provinciero>

    <prov>

      <cpine>15</cpine>

      <np>A CORUÑA</np>

    </prov>

    <prov>

      <cpine>03</cpine>

      <np>ALACANT</np>

    </prov>
    ....
Estoy utilizando simplexml para procesar el xml pero no funciona. He tratado a descargar el archivo para procesarlo en local y tampoco.

Sin embargo si consigo parsear el contenido cuando el archivo tiene esta forma:
Código:
<?xml version="1.0" encoding="UTF-8"?>

<lista>

	<provincia id="01">

		<nombre><![CDATA[Alava]]></nombre>

		<localidades>

				<localidad c="0"><![CDATA[Aberasturi]]></localidad>

			<localidad c="0"><![CDATA[Abetxuko]]></localidad>

			<localidad c="0"><![CDATA[Abezia]]></localidad>

			<localidad c="0"><![CDATA[Abornikano]]></localidad>

			<localidad c="0"><![CDATA[Acebedo]]></localidad>

			<localidad c="0"><![CDATA[Acilu]]></localidad>
El código utilizado es:

Código:
<?php

// he probado así:
		//$xmlstr = file_get_contents( 'http://ovc.catastro.meh.es/ovcservweb/OVCSWLocalizacionRC/OVCCallejero.asmx/ConsultaProvincia' );
		//$myXml = simplexml_load_string( $xmlstr );

// y así:
		$myXml = new SimpleXMLElement('http://ovc.catastro.meh.es/ovcservweb/OVCSWLocalizacionRC/OVCCallejero.asmx/ConsultaProvincia', null, true); 
		foreach ($myXml->prov as $provincia) 
		{
			print "<b>" .$provincia->np . "</b>";
		}

?>
Necesito saber como parsear consultas sin CDATA para poder utilizar datos del catastro.
Muchas grácias.