我正在尝试以可视方式格式化我的XML文件在输出时的外观。现在,如果您转到here并查看来源,您将看到该文件的样子。
我创建该文件的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);
}
通过查看源代码可以看出,该文件不像我希望的那样可读。我有什么方法可以格式化节点吗?
谢谢,
列维
答案 0 :(得分:9)
结帐DOMDocument
中的formatOutput设置。
$sitemap->formatOutput = true
答案 1 :(得分:0)
不仅仅是PHP,还有一个XML样式表:XSLT,它可以将XML格式化为......看起来不错。