DOMDocument は xml を作成し、$dom->formatOutput = true; を設定しますが、ルート ノードの下の第 1 レベルのノードのみがフォーマットされ、第 1 レベルのノードの下の子ノードはフォーマットされません (図 1)。私が望むのは、xml ファイル全体がフォーマットされて出力されることです (図 2)
図 1:
図 2:
コードはどこにあるか、投稿してください。
$dom = new DOMDocument('1.0', 'UTF-8');$dom->formatOutput = true;header("Content-Type: text/plain");$rootelement = $dom->createElement("data");foreach($tree[0]['children'] as $t){ $categorys=$dom->createElement("categorys",""); $text=$dom->createElement("text",$t['text']); $categorys->appendChild($text); foreach($t['children'] as $child){ $category=$dom->createElement("category",""); $text2=$dom->createElement("text",$child['text']); $category->appendChild($text2); for($i=1;$i<=4;$i++){ $comment=$dom->createElement("comment".$i,"");//评语 $category->appendChild($comment); } $categorys->appendChild($category); } $rootelement->appendChild($categorys);}$dom->appendChild($rootelement);$filename = $this->appurl.$this->modeldir."/template/".$lang."/eval_tytakg.xml";$dom->save($filename);
コードはどこに投稿してください。
投稿しました Tidy を上手に活用しましょう
これは HTML/XML の福音です、時間をかけて理解する価値があります
解決済み
DOMDocument は、$dom->formatOutput = true を設定して XML を作成しますが、ルート ノードの下の第 1 レベルのノードのみが作成時にフォーマットされますが、第 1 レベルのノードの下の子ノードはフォーマットされません (図 1)。私が望むのは、xml ファイル全体がフォーマットされて出力されることです (図 2)
図 1:
図 2: