/*
程序生成xml功能:
功能描述,通过制定的array,生成出完全类似于http://www.ledinside.com.tw/rss.xml的页面
*/
error_reporting(0); //关闭xdebug
$arr1 = Array(
         Array(
            "title" => "NIST:改善封裝技術,白光LED效率破記錄",
            "link" => "http://www.ledinside.com.tw/1",
            "description" => "据日本市调机构富士经济(Fuji Keizai)3月31日公佈的调查报告显示,2008年全球光源市场(包含可视光灯、紫外线灯、LED及半导体激光)规模较2007年下滑了0.6%,降到3兆8,152亿日圆",
            "category" => Array(
                Array(
                            "title" => ":全球光源市场下滑,但2012年LED",
                            "domain" => "http://www.ledinside.com.tw/taxonomy/11",
                        ),
                       Array(
                            "title" => "士经济:全球光源市场下滑,但2012年LED需求",
                            "domain" => "http://www.ledinside.com.tw/taxonomy/11"
                        )
                ),
            "pubdate" => "Thu, 02 Apr 2009 01:09:28 +00001",
        ),    Array(
            "title" => "LEDinside:今年LED TV渗透率仅2%  至2012年可望达到11",
            "link" => "http://www.ledinside.com.tw/2",
            "description" => "电视品牌厂商推出LED背光液晶电视,LED TV市场将逐渐成为LED产业杀手级应用之一。LEDinside表示,若所有液晶电视全数导入LED背光, LED消耗数量将比每年10亿支的手机",
            "category" => Array(
                     Array(
                            "title" => "side:今年LED TV渗透率仅2%  ",
                            "domain" => "http://www.ledinside.com.tw/taxonomy/21",
                        ),
                        Array(
                            "title" => "ED TV渗透率仅2%  至2012",
                            "domain" => "http://www.ledinside.com.tw/taxonomy/22"
                        )
                ),
            "pubdate" => "Thu, 02 Apr 2009 01:09:28 +00002",
        )
);

解决方案 »

  1.   

     在http://www.ledinside.com.tw/rss.xml页面源代码可以看到 <category domain="http://www.ledinside.cn/taxonomy/term/772">LED灯具</category>
     <category domain="http://www.ledinside.cn/taxonomy/term/518">台湾</category>
     <category domain="http://www.ledinside.cn/taxonomy/term/591">雷科</category>怎么实现这样输出。最好用递归实现,或用数组的索引 key 实现。
      

  2.   

    ·双线主机 100M/35元/年,免费送数据库(自选MY/MSSQL)
    ·支持ASP+ASP.NET+PHP+HTML
    ·详情请访问:http://www.515dns.com
    ·QQ:287895593
      

  3.   

    "category" => Array(
    Array(
    "title" => "但2012年LED",
    "domain" => "http://www.ledinside.com.tw/taxonomy/21",
    ),
    Array(
    "title" => "球光源市2年LED需求",
    "domain" => "http://www.ledinside.com.tw/taxonomy/22"
    )
    )

    怎么以下方式输出<category domain='http://www.ledinside.com.tw/taxonomy/21'>但2012年LED</category>
    <category domain='http://www.ledinside.com.tw/taxonomy/22'>球光源市2年LED需求</category>
    不能用$value['title'],而要以为key来实现。
      

  4.   

    <?php
    /*
    程序生成xml功能:
    功能描述,通过制定的array,生成出类似于http://www.ledinside.com.tw/rss.xml的页面
    */
    error_reporting(0); //关闭xdebug
    header('Content-Type: application/xml; charset=utf-8');
    $arr1 = Array(
                            Array(
                        "title" => "NIST:改善封裝技術,白光LED效率破記錄了",
                        "link" => "http://www.ledinside.com.tw/1",
                        "description" => "据日本市调机构富士经济(Fuji Keizai)3月31日公佈的调查报告显示,2008年全球光源市场(包含可视光灯、紫外线灯、LED及半导体激光)规模较2007年下滑了0.6%,降到3兆8,152亿日圆",
                        "category" => Array(
                                                                            Array(
                                                                                    "title" => ":全球光源市场下滑,但2012年LED",
                                                                                    "domain" => "http://www.ledinside.com.tw/taxonomy/11",
                                                                            ),
                                                                            Array(
                                                                                    "title" => "士经济:全球光源市场下滑,但2012年LED需求",
                                                                                    "domain" => "http://www.ledinside.com.tw/taxonomy/12"
                                                                            )
                                                                    ),
                                    "pubdate" => "Thu, 02 Apr 2009 01:09:28 +00001"
                            ),
                            Array(
                        "title" => "LEDinside:今年LED TV渗透率仅2%  至2012年可望达到11",
                        "link" => "http://www.ledinside.com.tw/2",
                        "description" => "电视品牌厂商推出LED背光液晶电视,LED TV市场将逐渐成为LED产业杀手级应用之一。LEDinside表示,若所有液晶电视全数导入LED背光, LED消耗数量将比每年10亿支的手机",
             /*key*/"category" => Array(//$value
                                                             /*key1*/Array(//$value1
                                                                                    "title" => ":全球光源市场下滑,但2012年LED",
                                                                                    "domain" => "http://www.ledinside.com.tw/taxonomy/21",
                                                                            ),
                                                                            Array(
                                                                                    "title" => "士经济:全球光源市场下滑,但2012年LED需求",
                                                                                    "domain" => "http://www.ledinside.com.tw/taxonomy/22"
                                                                            )
                                                                    ),
                                    "pubdate" => "Thu, 02 Apr 2009 01:09:28 +00001"
                            )
    );output_xml($arr1);       
    function output_xml($arr) {       
            $xml='';
            $haveRightBracket=FALSE;
            $xml.="<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n";
            $xml.="<rss version=\"2.0\" xml:base=\"http://www.ledinside.com.tw\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\">\r\n";
            $xml.="<channel>\r\n";
            $xml.="<title>LEDinside - LED產業網</title>\r\n";
            $xml.="<link>http://www.ledinside.com.tw</link>\r\n";
            $xml.="<description>LEDinside - LED產業網</description>\r\n";
            $xml.="<language>zh-hant</language>\r\n";               
            foreach($arr as $key=>$value){
                    $xml.="<item>\n";
                    $xml.=make($value);               
                    $xml.="</item>\n";                 
            }
            $xml.="</channel>\r\n";
            $xml.="</rss>\r\n";
            echo $xml;
    }
    function make($array) {
            $str='';
            foreach($array as $key=>$value){
                    if(is_array($value)){
                            foreach($value as $key1=>$value1){
                                    $newarr= newarr($value1);
                                    foreach($newarr as $nkey=>$nvalue){       
                                            $str .= '<'. $key;
                                            $str .= " domain=".'"'. $nkey .'"';
                                            $str .= '>'.$nvalue.' ';
                                            $str .= '</'. $key .">\n";
                                    }               
                            }
                    }else{
                            $str.= "<$key>".$value."</$key>\n";
                    }
            }
            return $str;
    }function newarr($arr1){
         $newarr=array();
         foreach($arr1 as $v){
               $newarr[]=$v;
         }
         $newa=array($newarr[1]=>$newarr[0]);
         return $newa;
    }
    ?>上面的程序虽然可以达到效果,但我觉得还是不够完善,哪位指点下。。