Я создал 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-файл выглядел все отступом и новыми строками для каждого элемента. Кто-нибудь знает, как это сделать?
благодаря
Вы можете сделать это, используя свойство 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 (); эхо ". "\ П";?>