Tengo un problema que me esta rompiendo el coco, he buscado a destajo y ya no se que hacer:
Estoy actualizando un archivo XML desde un formulario con PHP, el archivo lo creo primero en mi equipo y lo guardo como UTF-8, tambien tengo la declaración del XML como UTF-8:
Código HTML:
<?xml version="1.0" encoding="utf-8"?>
Esto es lo que hago:
Código PHP:
$NuevaCol->asXML('../xml/titulo_colecciones.xml');
//se pasan datos a galerias.xml
$NuevaGal = new SimpleXMLElement('../xml/galerias.xml', null, true);
//nodo con el nombre de la coleccion
$firstGal = $NuevaGal->addChild(gal);
$attGal = $firstGal->addAttribute("tit", utf8_encode($coleccion));
//hijo de coleccion (miniaturas)
$nodoMin = $firstGal->addChild($miniaturas);
//hijo de miniaturas
$ChildMin = $nodoMin->addChild("imgGalerias");
//atributo de imgGalerias (la ruta hacia la miniatura)
$attMin = $ChildMin->addAttribute("imagen", "img/".$coleccion."/".$miniaturas."/".$nombreMin);
//hijo de coleccion (mediaturas)
$nodoMed = $firstGal->addChild($mediaturas);
//hijo de mediaturas
$ChildMed = $nodoMed->addChild("imgGalerias");
//atributo de imgGalerias (la ruta hacia la mediatura)
$attMed = $ChildMed->addAttribute("imagen", "img/".$coleccion."/".$mediaturas."/".$nombreMed);
//hijo de coleccion (grandes)
$nodoGran = $firstGal->addChild($grandes);
//hijo de grandes
$ChildGran = $nodoGran->addChild("imgGalerias");
//atributo de imgGalerias (la ruta hacia la imagen grande) y datos de la obra
$attGran = $ChildGran->addAttribute("imagen", "img/".$coleccion."/".$grandes."/".utf8_encode($nombreGran));
$attGranTit = $ChildGran->addAttribute("titObra", "'".utf8_encode($titObra)."'");
$attGranTam = $ChildGran->addAttribute("tamObra", utf8_encode($tamObra));
$attGranTec = $ChildGran->addAttribute("tecObra", utf8_encode($tecObra));
//hijo de coleccion
$nodoTexto = $firstGal->addChild($texto);
//hijos de texto
$ChildTexto = $nodoTexto->addChild("titulo");
$attTexto = $ChildTexto->addAttribute("tit", utf8_encode($coleccionConEspacios));
$ChildTexto = $nodoTexto->addChild("info");
$attInfo = $ChildTexto->addAttribute("tex", utf8_encode($txtInfo));
$ChildTexto = $nodoTexto->addChild("fecha");
$attFecha = $ChildTexto->addAttribute("fec", utf8_encode($fecha));
//header('Content-type: text/xml');
//echo $NuevaGal->asXML();
$NuevaGal->asXML('../xml/galerias.xml');
Sabeis que mas puedo hacer? Sabeis si hay alguna forma de cerciorarse de que al hacer el asXML respete la codificacion original del archivo?
Gracias de antemano,
Salut!
LaloP