Comentarios sin revisar del artículo: ¿Qué podemos hacer con XML y PHP ?

7 comentarios sin revisar
24/2/09

Por: Sommy
Todos opinamos mucho, es cierto... En fin esta muy bueno el articulo.

Solo queria preguntar por que en lugar usas tantas lineas de mas con el ireg_replace, en lugar de usar la mitad de lineas con un str_ireplace?

Y lo que dicen arriba es mucho mas lio, las expresiones regulares no hay que abusarse de ellas, comen mucho.

Saludos!
24/2/09

Por: Sommy
Fe de erratas, es importante saber si el texto tiene mayusculas y respetarlas... Paso una funcion que arme que se basa en eso, pero con acutes.

Lo que si, no usen ereg_replace, es muy potente ya que utiliza expresiones regulares, utilicen str_replace(); Como decia mi primer tutor, es matar una hormiga con una bomba atomica, acostumbrense a optimizar recursos.

private function limpia_especiales($strCadena) {
$strCadenaOut=str_ireplace("á","á",$strCadena);
$strCadenaOut=str_ireplace("é","é",$strCadena);
$strCadenaOut=str_ireplace("í","í",$strCadena);
$strCadenaOut=str_ireplace("ó","ó",$strCadena);
$strCadenaOut=strireplace("ú","ú",$strCadena);
$strCadenaOut=str_ireplace("ñ","ñ",$strCadena);
}
24/2/09

Por: sommy
Hacer las cosas apurado no es bueno, ni siquiera habia termiando la funcion, ahora si, no los molesto mas.

Suerte!

#-#############################################
# desc: Limpia una cadena y lo pasa a caracteres html, luego con Cdta[] no hay mas errores.
private function limpia_especiales($strCadena) {
$strCadenaOut=str_replace("á","á",$strCadena);
$strCadenaOut=str_replace("é","é",$strCadena);
$strCadenaOut=str_replace("í","í",$strCadena);
$strCadenaOut=str_replace("ó","ó",$strCadena);
$strCadenaOut=str_replace("ú","ú",$strCadena);
$strCadenaOut=str_replace("ñ","ñ",$strCadena);
$strCadenaOut=str_replace("Á","Á",$strCadena);
$strCadenaOut=str_replace("É","É",$strCadena);
$strCadenaOut=str_replace("Í","Í",$strCadena);
$strCadenaOut=str_replace("Ó","Ó",$strCadena);
$strCadenaOut=str_replace("Ú","Ú",$strCadena);
$strCadenaOut=str_replace("Ñ","Ñ",$strCadena);

return $strCadenaOut;
}
24/2/09

Por: Sommy
Hola, les pido a los que revisen los mensajes que por favor editen y me pongan todo en uno... Los anteriores estan mal.

Para evitar funciones y replace solamente tienen que guardar el php que genera html como ANSI, no como UTF8, si usan flash agreguen en el primer frame esta linea:

System.useCodepage = true;

Listo!! Eviten Expresiones regulares y recursos, simplifiquen el codigo en recursos, no en lineas igual.

Saludos!
30/5/09
Problemas con XMML
Por: Guillermo Flores
Que tal...

estoy haciendo pruebas con los ejemplo que aqui indicas pero sucede algo bien raro, la pagina del php no me esta imprimiendo nada en el browser, es decir, la pagina se muestra en blanco.

Habra algo que modificar en el php.ini??? o por donde podria estar mi problmea?

Agradezco enormemente su aportacion.
06/8/09
Como Trabajar con DOM/XML
Por: agrana
Saludos Amigos...

Me Costo un mundo poder ver como trabaja DOM XML de PHP de 5 en adelante ...
1.- Las librerias en las versiones PHP de 5 en adelante esta complidas es decir ya no es una extension..
2.- Por Otra parte el codigo que voy a facilitar va enviar lo siguiente a una archivo
<?xml version="1.0" encoding="UTF-8"?>
<rows>
<row id="1">
<cell>Grupo No.1</cell>
<cell>GRUPO UNO</cell>
</row>
<row id="2">
<cell>Grupo No.2</cell>
<cell>MARCOS</cell>
</row>
<row id="3">
<cell>Grupo No.3</cell>
<cell>POPEYE</cell>
</row>
</rows>
PUEDEN NOTAR QUE EL XML va dentro de otras etiquetas es decir ROWS (Indice Principal) ROW (los Sudindices) y CELL (las Celdas)... De la misma Manera vamos a tratar el codigo en PHP.... y aqui va el codigo...

$doc = new DOMDocument ( '1.0', 'UTF-8' ); /// Abrimos el DOMXML Documento

$element = $doc->appendChild(new DOMElement('rows')); // Creamos el Indice Principal ROWS

$i=1;
$resultj = mysql_query("SELECT * FROM _tgrupo order by IDG"); // Una Simple Intruccion SQL para mostrar un el ejemplo
while($Row = mysql_fetch_array($resultj))
{

// Esto es muy Importante Fijense Bien $element fue la misma variable para llamar la Instruccion en el INDICE ROWS en otras palabras estamos indicando que este nuevo elemento pertenece al INDICE ROWS..

$element1 = $element->appendChild(new DOMElement('row'));
$element1->setAttribute("id", $i); /// Para asiganar el atributo ID

// Aqui pasa lo mismo si ven los apuntadores ahora llaman a $element1 para que ellos pertenezcan al SUBINDICE ROW, en este caso ahora a dos etiquetas llamadas CELL

$element_ns = new DOMElement('cell', 'Grupo No.'.$Row['IDG'], '');
$element1->appendChild($element_ns);
$element_ns = new DOMElement('cell', $Row['Descrip'], '');
$element1->appendChild($element_ns);

$i++;

}
$doc->save("grid.xml"); /// <== Aqui lo grabamos a un archivo .XML


Si tiene alguna duda escriban a mi correo.. creo que la explicacion de este articulo esta bien pero es hacer las cosas casi a mano.. y no es la idea PHP es muy poderoso para hacer un archivo tan escueto...

mi correo:angelgranadillo@yahoo.com

Espero que le sirva de mucho
11/10/09
Tengo problema al crear el xml
Por: Narucho
Hola mucho gusto pues yo use un codigo similar y al final use:
$doc->save("test.xml");

pero en mi localhost no me crea el archivo, ya revise los permisos en mi iis ver. 5, con php 5.2.11. He leido otros artuculos y aun no doy con el problema, ya que ese mismo codigo subido en mi host funciona.

Alojados en el grupo