0

PHPを使用してXMLファイルを作成しています。XMLの構造は正しいですが、ブラウザ内から[ソースの表示]を選択すると、すべてのコードが1行で出力されます。

デバッグしようとしているエラーがあり、コード行(2行目)を示していますが、複数行のコードにある場合ほど役に立ちません。データベースからデータを取得していますが、コードは限られたテストスケールで機能しますが、すべてのデータを使用するとエラーが発生します。

エラー:

DOMDocument::schemaValidate() Generated Errors!

Fatal Error 68: xmlParseEntityRef: no name in (/home2/path...)"

以下は、XMLの作成に使用しているPHPの始まりです...

<?php

/* create a dom document with encoding utf8 */
$domtree = new DOMDocument('1.0', 'UTF-8');

/* create the root element of the xml tree */
$xmlRoot = $domtree->createElement('BatchDataSet');
/* append it to the document created */
$xmlRoot = $domtree->appendChild($xmlRoot);
$xmlRoot->setAttribute("SchemaVersion","1.0");
$xmlRoot->setAttribute("Quarter","2");
$xmlRoot->setAttribute("Year","2012");

// INSURER INFO: A INSURANCE

$insurer = $domtree->createElement("Insurer");
$insurer = $xmlRoot->appendChild($insurer);

$insurer->appendChild($domtree->createElement('NAICNumber','12345'));
$insurer->appendChild($domtree->createElement('Name','Example'));

$contact = $domtree->createElement("Contact");
$contact = $insurer->appendChild($contact);

$contact->appendChild($domtree->createElement('FirstName', 'Kim'));
$contact->appendChild($domtree->createElement('LastName','Smith'));
$contact->appendChild($domtree->createElement('EmailAddress','Kim@ins.co'));

    ......................
4

1 に答える 1

4

formatOutputに設定true

$domtree->formatOutput = true;

ドキュメントから:

formatOutput

     インデントと余分なスペースを使用して出力を適切にフォーマットします。

探している用語は「きれいな」出力です。これは通常、人間が読み取れるインデントされたマークアップを指します。

于 2012-09-28T03:48:53.973 に答える