浏览器中的XML“查看源”全部在一行上

时间:2012-09-28 03:46:12

标签: php xml xml-parsing

我正在使用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'));

    ......................

1 个答案:

答案 0 :(得分:4)

formatOutput设为true

$domtree->formatOutput = true;

来自the documentation

  

formatOutput

     

很好地使用缩进和额外空间格式化输出。

您正在寻找的术语是"pretty" output,它通常引用人类可读的缩进标记。