生成XML文件

时间:2011-05-10 13:41:59

标签: php xml

我正在尝试生成包含我在应用程序控制台中插入的信息的xml文件。它包含标题信息和图片库,我有列出图片库图片的问题。其他一切都是正确生成但是当我尝试填充图像库的信息时它不起作用。这是问题的副本,请建议,我仍然是初学者,这可能是一个愚蠢的错误,但请求帮助。

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;
    }

3 个答案:

答案 0 :(得分:1)

在循环内部,你重新分配$ xml,而不是连接它。使用$xml .=而不是$xml =

答案 1 :(得分:0)

为什么不使用SimpleXML生成XML输出?要从PHP数组生成有效的XML输出,您可以查看PHP官方文档:http://php.net/manual/en/book.simplexml.php 只需检查前几个示例,它们将帮助您生成有效的xml,并将xml字符串转换为关联数组。

答案 2 :(得分:0)

您正在使用simpleXML,请按照链接希望它能解决您的问题

  

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

PHP官方文档帮助你查看put数组格式。