だから私はこのコードを持っています
$domDoc = new DOMDocument;
$rootElt = $domDoc->createElement('CONFIG');
$rootNode = $domDoc->appendChild($rootElt);
$subElt = $domDoc->createElement('APP-ID');
$subNode = $rootNode->appendChild($subElt);
$textNode = $domDoc->createTextNode('166533e56');
$subNode->appendChild($textNode);
$domDoc->save('config.xml');
生成された
<CONFIG><APP-ID>166533e56</APP-ID></CONFIG>
これは改行なしです。追加すると
$domDoc->formatOutput = true;
コードの最後の行の直前
$domDoc->save('config.xml');
これで出力は正常になりました。
<CONFIG>
<APP-ID>166533e56</APP-ID>
</CONFIG>
ただし、別のphpでxmlを開いて何かを書き込もうとすると、何を試してもフォーマットされていない状態でそこに追加されます。
別のphpコードで私はします:
$domDoc = new DOMDocument;
$domDoc->load('config.xml');
$rootNode = $domDoc->documentElement;
$config_root = $rootNode->getElementsByTagName("CONFIG");
$rootElt = $domDoc->createElement('USER-ID');
$subNode = $rootNode->appendChild($rootElt);
$textNode = $domDoc->createTextNode('333265332f');
$subNode->appendChild($textNode);
$rootElt = $domDoc->createElement('USER-NAME');
$sub2Node = $rootNode->appendChild($rootElt);
$textNode = $domDoc->createTextNode('John');
$sub2Node->appendChild($textNode);
$domDoc->formatOutput = true;
$domDoc->save('config.xml');
その結果、
<CONFIG>
<APP-ID>166533e56</APP-ID>
<USER-ID>333265332f</USER-ID><USER-NAME>John</USER-NAME></CONFIG>
これは完全に間違っています。そのはず
<CONFIG>
<APP-ID>166533e56</APP-ID>
<USER-ID>333265332f</USER-ID>
<USER-NAME>John</USER-NAME>
</CONFIG>
改行が追加されていないのはなぜですか?私は何を間違えましたか?