PHP печать XML-файла в красивом формате - PullRequest
1 голос
/ 24 сентября 2019

Мне нужно отобразить один XML-файл в браузере через запрос Apache.Так что я могу передать файл на бесплатное переключение.Мой PHP-код выглядит так:

<code><?php
header('Content-Type: text/xml');
$xml=simplexml_load_file("test.xml") or die("not found");
echo "<pre>".print_r($xml,true)."
";?>

Но я получаю такой вывод:

<code><pre>SimpleXMLElement Object
(
[@attributes] => Array
    (
        [type] => freeswitch/xml
    )

[section] => SimpleXMLElement Object
    (
        [@attributes] => Array
            (
                [name] => configuration
            )

        [configuration] => SimpleXMLElement Object
            (
                [@attributes] => Array
                    (
                        [description] => Network Lists
                        [name] => acl.conf
                    )

                [network-lists] => SimpleXMLElement Object
                    (
                        [list] => Array
                            (
                                [0] => SimpleXMLElement Object
                                    (
                                        [@attributes] => Array
                                            (
                                                [name] => localhost_allow
                                                [default] => allow
                                            )

                                        [node] => SimpleXMLElement Object
                                            (
                                                [@attributes] => Array
                                                    (
                                                        [type] => allow
                                                        [cidr] => 127.0.0.1/32
                                                    )
)

Мне просто нужнокрасивый вывод XML в браузере. Или я могу обслуживать файлы XML другим способом. Любая идея? Спасибо

Ответы [ 2 ]

4 голосов
/ 24 сентября 2019

Вам не нужно загружать XML-файл как объект.Просто загрузите необработанное содержимое файла и распечатайте его:

$file = file_get_contents("test.xml");
echo $file;

Браузеры сделают все остальное за вас.

2 голосов
/ 24 сентября 2019

Может быть, это сработает, если нет, я думаю, вам нужно разобрать xml, а затем вы можете отформатировать его по своему желанию.

 <?php
    header('Content-Type: text/xml');
    $xml=simplexml_load_file("test.xml") or die("not found");
    echo $xml->asXML();
 ?>
...