10

我正在尝试以可视方式格式化我的 XML 文件在输出时的外观。现在,如果您去这里查看源代码,您将看到文件的样子。

我拥有的创建文件的 PHP 是:(注意,$links_array 是一个 url 数组)

        header('Content-Type: text/xml');
        $sitemap = new DOMDocument;
        
        // create root element
        $root = $sitemap->createElement("urlset");
        $sitemap->appendChild($root);
         
        $root_attr = $sitemap->createAttribute('xmlns'); 
        $root->appendChild($root_attr); 

        $root_attr_text = $sitemap->createTextNode('http://www.sitemaps.org/schemas/sitemap/0.9'); 
        $root_attr->appendChild($root_attr_text); 

        
        
        foreach($links_array as $http_url){
        
                // create child element
                $url = $sitemap->createElement("url");
                $root->appendChild($url);
                
                $loc = $sitemap->createElement("loc");
                $lastmod = $sitemap->createElement("lastmod");
                $changefreq = $sitemap->createElement("changefreq");
                
                $url->appendChild($loc);
                $url_text = $sitemap->createTextNode($http_url);
                $loc->appendChild($url_text);
                
                $url->appendChild($lastmod);
                $lastmod_text = $sitemap->createTextNode(date("Y-m-d"));
                $lastmod->appendChild($lastmod_text);
                
                $url->appendChild($changefreq);
                $changefreq_text = $sitemap->createTextNode("weekly");
                $changefreq->appendChild($changefreq_text);
                
        }
        
        $file = "sitemap.xml";
        $fh = fopen($file, 'w') or die("Can't open the sitemap file.");
        fwrite($fh, $sitemap->saveXML());
        fclose($fh);
    }

通过查看源代码可以看出,该文件不像我希望的那样可读。我有什么办法可以格式化节点吗?

谢谢,
列维

4

2 回答 2

10

检查formatOutput中的设置DOMDocument

$sitemap->formatOutput = true
于 2010-01-06T08:30:51.333 回答
0

不仅仅是 PHP,还有一个 XML 样式表:XSLT,它可以将 XML 格式化成……看起来不错。

于 2010-01-06T08:27:50.673 回答