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