Generando archivos XML

Estoy intentando generar archivos xml que contengan la información que he insertado en la consola de la aplicación. Contiene información sobre el título y una galería de imágenes, tengo problemas para enumerar las imágenes de la galería de imágenes. todo lo demás se genera correctamente, pero cuando trato de completar la información de la galería de imágenes, no funciona. esta es una copia del problema, por favor avise y todavía soy un principiante y esto podría ser un error estúpido, pero por favor necesito ayuda.

function array2XML($anews)
    {   

        $images = $this->selectAllImages($anews);


        $_xml = "       <tag path=\"".wk_show($anews['FileLink'])."\">\n"
               ."           <title>".wk_show($anews['Title'])."</title>\n"
               ."           <dateT>".wk_show($anews['Date'])."</dateT>\n"
               ."           <desc>".wk_show($anews['Content'])."</desc>\n"
               ."           <photos pathTh=\"admin/images/news/thumbs/\" pathPr=\"admin/images/news/preview/\">\n";

// here is the problem when i remove it it works but it only take 1 image of the gallery
                foreach($images as $image)
                    {   
                    echo "i am in the loop <br />";

                        $_xml ="           <tag path=\"".wk_show($image['FileLink'])."\"/>\n";
                    }
               $_xml ="           </photos>\n" 
               ."       </tag>\n";

        $_xml = preg_replace(array("/\&([a-z\d\#]+)\;/i", "/\&/", "/\#\|\|([a-z\d\#]+)\|\|\#/i", "/(\=\"\-\/\%\?\!\'\(\)\[\\{\}\ \#\+\,\@_])/e"),
                             array("#||\\1||#", "&", "&\\1;", "'&#'.ord('\\1').';'"),
                             $_xml);

        $_xml = ereg_replace (" & ", " &amp; ", $_xml);

        return $_xml;
    }

preguntado el 10 de mayo de 11 a las 13:05

Utilice DOM o SimpleXml para crear el XML. Eso solucionará muchos de los problemas que está enfrentando en este momento. Además, la familia ereg está en desuso. -

3 Respuestas

Dentro del ciclo, estás reasignando $ xml, no concatenando. Utilizar $xml .= en contraposición a $xml =

contestado el 10 de mayo de 11 a las 18:05

¿Por qué no usa SimpleXML para generar la salida XML? Para generar una salida XML válida a partir de una matriz de PHP, puede consultar la documentación oficial de PHP sobre esto: http://php.net/manual/en/book.simplexml.php Simplemente verifique los primeros ejemplos que lo ayudarán a generar un xml válido y también a convertir una cadena xml en una matriz asociativa.

contestado el 10 de mayo de 11 a las 17:05

Estás usando simpleXML, sigue el enlace espero que resuelva tu problema

http://php.net/manual/en/book.simplexml.php

El documento oficial de PHP le ayuda a verificar el formato de matriz de colocación.

contestado el 10 de mayo de 11 a las 17:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.