我正在使用PHP创建XML文件。 XML的结构是正确的,但是当我从浏览器中选择“查看源代码”时,所有代码都在一行上输出。
我有一个错误,我正在尝试调试,它指向我的代码行(第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'));
......................
答案 0 :(得分:4)
将formatOutput
设为true
:
$domtree->formatOutput = true;
formatOutput
很好地使用缩进和额外空间格式化输出。
您正在寻找的术语是"pretty" output,它通常引用人类可读的缩进标记。