Подтвердить что ты не робот

Форматировать XML-документ, созданный с помощью PHP - DomDocument

Я пытаюсь форматировать визуально, как выглядит мой 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);
    }

Как вы можете сказать, глядя на источник, файл не так читается, как хотелось бы. Есть ли способ форматировать узлы?

Спасибо,
Леви

4b9b3361

Ответ 1

Оформить formatOutput в DOMDocument.

$sitemap->formatOutput = true

Ответ 2

не просто PHP, есть таблица стилей для XML: XSLT, который может форматировать XML в sth, выглядит хорошо.