PHP SimpleXML новая строка

Я создал XML-файл с использованием простого XML-кода PHP, сохранил файл. При открытии файла в php с помощью fopen и печати содержимого. мой XML выглядит так: (см. ниже)

<?xml version="1.0" encoding="UTF-8"?> <home><orderList><delivery_cost>0.00</delivery_cost><delivery_surname>TEST</delivery_surname><delivery_postcode>1234</delivery_postcode><status>1</status></orderList></home> 

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

благодаря

Solutions Collecting From Web of "PHP SimpleXML новая строка"

Вы можете сделать это, используя свойство DOMDocument .

Сохраните XML, как это, вместо этого, предполагая, что ваш XML находится в переменной с именем $yourXML , и вы хотите сохранить ее в файл в $xmlFilePath :

 $dom = new DOMDocument(); $dom->loadXML($yourXML); $dom->formatOutput = true; $formattedXML = $dom->saveXML(); $fp = fopen($xmlFilePath,'w+'); fwrite($fp, $formattedXML); fclose($fp); 

Код адаптирован здесь .

Это называется «довольно печатной», и SimpleXML этого не делает. Если вы выполняете поиск в Stack Overflow и в других местах в Интернете, вы найдете специальные решения, которые это делают.

Довольно печать хороша для визуализации, но я не рекомендую сохранять документы в этом формате .

Если вы все еще ищете симпатичный принтер, вы можете попробовать SimpleDOM asPrettyXML ()

 include 'SimpleDOM.php'; $home = simpledom_load_string('<?xml version="1.0" encoding="UTF-8"?> <home><orderList><delivery_cost>0.00</delivery_cost><delivery_surname>TEST</delivery_surname><delivery_postcode>1234</delivery_postcode><status>1</status></orderList></home>'); echo $home->asPrettyXML(); 

echo "\ n"; для новой строки в xml

ob_start (); эхо ". "\ П";?>