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:
Estoy utilizando simplexml para procesar el xml pero no funciona. He tratado a descargar el archivo para procesarlo en local y tampoco.<?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> ....
Sin embargo si consigo parsear el contenido cuando el archivo tiene esta forma:
Código:
El código utilizado es:<?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>
Código:
Necesito saber como parsear consultas sin CDATA para poder utilizar datos del catastro.<?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>"; } ?>
Muchas grácias.