Php SimpleXMLElement->;输出错误字符串的asXML()

Php SimpleXMLElement->;输出错误字符串的asXML(),php,simplexml,Php,Simplexml,我有一个php函数,可以将对象层次结构转换为xml。asXML未按预期工作。谁能告诉我为什么会这样: $oReportXML = new SimpleXMLElement("<report></report>"); $oReportXML->addChild('details'); $oReportXML->addChild('configuration'); $oReportXML->addChild('

我有一个php函数,可以将对象层次结构转换为xml。asXML未按预期工作。谁能告诉我为什么会这样:

            $oReportXML = new SimpleXMLElement("<report></report>");
    $oReportXML->addChild('details');
    $oReportXML->addChild('configuration');
    $oReportXML->addChild('datasources');
    $oReportXML->addChild('styles');
    $oReportXML->addChild('classes');
    $oReportXML->addChild('tables');

    $oReportXML->details->addChild('author',$this->iAuthor);
    $oReportXML->details->addChild('date_created',$this->iDateCreated);
    $oReportXML->details->addChild('date_modified',$this->iLastModifiedDate);
    $oReportXML->details->addChild('modified_by',$this->iLastModifiedBy);
    $oReportXML->details->addChild('id',$this->iReportID);
    print_r($this);
    print "<p>".$oReportXML->asXML()."</p>";

如果在浏览器中查看输出,则只会看到值,因为浏览器不会可视化标记。查看源代码,或添加标题('Content-type:text/xml');告诉浏览器它应该显示XML
打印“”.htmlentities($oReportXML->asXML())。“

”;
 print "<p>".htmlentities ($oReportXML->asXML())."</p>";

我认为,如果您查看源代码,xml就在其中,但由于您通过浏览器查看它,而浏览器恰好忽略了所有标记,因此您只能看到文本节点。

引用的代码在我的PHP上运行良好。您使用什么来检查输出?您的浏览器可能只是隐藏标签?请尝试新建DomDocument();在php中,这比第二个@SamArulRaj简单得多——SimpleXML最适合读取XML。如果您需要实际编辑,我强烈建议您使用
DOM
。也许您可以使用而不是

来可视化您的xml文档这对我来说很有效,但它只返回一行字符串中的xml。如何以正确的XML形式显示它?i、 e.每个节点在其自己的线路中?塔克斯
 print "<p>".htmlentities ($oReportXML->asXML())."</p>";