10

PHP の単純な XML を使用して XML ファイルを作成し、ファイルを保存しました。fopenを使用してphpでファイルを開き、内容を印刷する場合。私の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 ファイルがすべてインデントされ、要素ごとに改行されているように見えるようにします。誰もこれを行う方法を知っていますか?

ありがとう

4

3 に答える 3

14

formatOutputのプロパティを使用してこれを行うことができます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);

ここから適応したコード。

于 2009-12-03T14:28:16.507 に答える
3

これは「きれいな印刷」と呼ばれ、SimpleXML はそれを行いません。Stack Overflow や Web 上の他の場所で検索すると、それを行うカスタム ソリューションが見つかります。

きれいな印刷は視覚化には適していますが、その形式でドキュメントを保存することはお勧めしません

まだプリティプリンターを探している場合は、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();
于 2009-12-03T14:33:52.360 に答える
-4

エコー "\n"; xml の改行

ob_start(); エコー ' ' 。"\n";?>

于 2016-09-22T09:01:08.083 に答える