FAQ
Hola.

Como recordaran, hasta algunas semanas le comente sobre el problemita que estaba teniendo con los TAG NULOS en la lectura de algunos XML que estoy leyendo. Gracias a DIOS ya encontre la solucion y el problema real de fondo, por lo que quiero compartirlo con ustedes en caso que alguno se encuentre en el futuro con alguna situacion igual.

Resulta que mi proveedor de XML, envia strings sumamente largos que previamente a procesarlos los guardo en una base de datos para luego procesarlos debidamente y es ahi donde empezo mi problema. La base de datos es MS SQL SERVER por lo que tuve que modificar el PHP.INI de la siguiente manera:
mssql.textlimit = 10000000
mssql.textsize = 10000000
Con esto resolvi lo que no estaba viendo, y era que el string lo cargaba incompleto.

Luego tambien tuve el problema con los acentos de nuestro idioma, por lo que tuve que aplicarle la siguiente funcion:
function acentos($valor){
//Le elimina los acentos al string recibido
$registro=$valor;
$registro=ereg_replace("á","a",($registro));
$registro=ereg_replace("é","e",($registro));
$registro=ereg_replace("í","i",($registro));
$registro=ereg_replace("ó","o",($registro));
$registro=ereg_replace("ú","u",($registro));
$registro=ereg_replace("Á","A",($registro));
$registro=ereg_replace("É","E",($registro));
$registro=ereg_replace("Í","I",($registro));
$registro=ereg_replace("Ó","O",($registro));
$registro=ereg_replace("Ú","U",($registro));
$registro=ereg_replace("ñ","n",($registro));
$registro=ereg_replace("Ñ","N",($registro));
return $registro;
}

Al final, lei de la siguiente manera el registro:
$xml2= simplexml_load_string(utf8_decode(acentos($reg[0])));

Y listo, ya tengo resuelto mi problema.

Aprovecho la oportunidad para agradecerle a todos aquellos que mostraron interes en mi consulta y me ofrecieron su ayuda.

Saludos desde la patria del "Pura Vida". Costa Rica.






________________________________
From: Berlington Barnett <bbarnetm@yahoo.com>
To: PHP-FORUM ESPAÑOL <php-es@lists.php.net>
Sent: Tuesday, July 21, 2009 5:53:36 PM
Subject: XML con TAG nulos


Hola amigos.

Aca tengo otra consulta.

Estoy consumiendo un Servicio Web, pero segun indica la documentacion de mi proveedor, algunos tags en algunos xml pueden venir nulos o vacios, como podran ver en el siguiente ejemplo:

<SOA_RESULT_PLACA>
<ENCABEZADO>
<IP>iT7xu4TiuT</IP>
<CLASEPLACA>PART</CLASEPLACA>
<NUMPLACA>404246</NUMPLACA>
<CODGOBIERNO>PAR</CODGOBIERNO>
<FECHA>20/11/2008</FECHA>
<PERIODO>2008</PERIODO>
<MONTO>238528</MONTO>
<CODRES>8</CODRES>
<ECOREV> </ECOREV>
<CEDPERSONAPROPIETARIO>601890990</CEDPERSONAPROPIETARIO>
<NOMPERSONAPROPIETARIO>ESPINOZA PEREZ SONIA MARIA</NOMPERSONAPROPIETARIO>
<DESMARCA>TOYOTA</DESMARCA>
<ANOMODELO>2001</ANOMODELO>
<ANOSADEUDADOS>1</ANOSADEUDADOS>
<CODGRUPO>1</CODGRUPO>
<FECIVPOLIZA>01/01/2008</FECIVPOLIZA>
<FECFVPOLIZA>31/12/2008</FECFVPOLIZA>
<DESESTILO>RAV 4</DESESTILO>
<CAPACIDAD>5</CAPACIDAD>
<NUMCHASIS>JTEHH20V000040965</NUMCHASIS>
<VALORFISCAL>5880000</VALORFISCAL>
<NUMMOTOR>1AZ0144965</NUMMOTOR>
<NUMCLASE>2185145</NUMCLASE>
<TIPOIDPERSONAPROPIETARIO>0</TIPOIDPERSONAPROPIETARIO>
</ENCABEZADO>
<RUBRO>
<CODRUBROPAGO>1</CODRUBROPAGO>
<DESRUBRO>SEGURO OBLIGATORIO DE AUTOMOVILES</DESRUBRO>
<MONANTERIOR>0</MONANTERIOR>
<MONACTUAL>13475</MONACTUAL>
<MONAJUSTES>0</MONAJUSTES>
<MONTOTRUBRO>13475</MONTOTRUBRO>
</RUBRO>
</SOA_RESULT_PLACA>

Lo estoy tratando de leer con la siguiente instruccion:
<?
$xml2= simplexml_load_string(utf8_decode($reg[0]));
?>

Sin embargo el resultado no es un XML valido.

Alguien me puede echar una mano, sobre como leer el XML sin que emita un error por los tag nulos.

Como siempre estare inmensamente agradecido por su ayuda.

Saludos :)

Search Discussions

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupphp-general-es @
categoriesphp
postedAug 7, '09 at 10:56p
activeAug 7, '09 at 10:56p
posts1
users1
websitephp.net

1 user in discussion

Berlington Barnett: 1 post

People

Translate

site design / logo © 2022 Grokbase