带有标题的php回显xml文档

带有标题的php回显xml文档,php,xml,Php,Xml,php代码 <?php $xml="<?xml version=\"1.0\" encoding=\"UTF-8\"?>"; $xml.="<db_entry id=\"$model->id\" doi=\"$model->identifier\">"; $xml.="<dataset>"; $xml.="</dataset>"; $xml.="</db_entry>"; $xml=preg_replace('/&am

php代码

<?php
$xml="<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
$xml.="<db_entry id=\"$model->id\" doi=\"$model->identifier\">";
$xml.="<dataset>";
$xml.="</dataset>";
$xml.="</db_entry>";
$xml=preg_replace('/&(?!#?[a-z0-9]+;)/', '&amp;', $xml);
$output= simplexml_load_string($xml);
echo $output->asXML();
id\“doi=\”$model->identifier\“>”;
$xml.=“”;
$xml.=“”;
$xml.=“”;
$xml=preg_replace(“/&(?!#?[a-z0-9]+)/”,“&;”,$xml);
$output=simplexml\u load\u字符串($xml);
echo$output->asXML();
当我运行它时,它不能在网页中显示xml格式(显示所有没有xml标记的文本)。 所以我添加了header(),但它显示了XML解析错误:XML或文本声明不在实体的开头

<?php header("Content-type: text/xml"); ?>
<?php
    $xml="<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
    $xml.="<db_entry id=\"$model->id\" doi=\"$model->identifier\">";
    $xml.="<dataset>";
    $xml.="</dataset>";
    $xml.="</db_entry>";
    $xml=preg_replace('/&(?!#?[a-z0-9]+;)/', '&amp;', $xml);
    $output= simplexml_load_string($xml);
    echo $output->asXML();

id \“doi=\”$model->identifier \“>”;
$xml.=“”;
$xml.=“”;
$xml.=“”;
$xml=preg_replace(“/&(?!#?[a-z0-9]+)/”,“&;”,$xml);
$output=simplexml\u load\u字符串($xml);
echo$output->asXML();
网页显示为空,但在页面视图源中显示为空

<?xml version="1.0" encoding="UTF-8"?>
<db_entry id="5" doi="110039"><dataset/></db_entry>

开头有三行空白

改变这个区域

<?php header("Content-type: text/xml"); ?>
<?php
    $xml="<?xml version=\"1.0\" encoding=\"UTF-8\"?>";


尝试回显
$xml
并查看您得到的结果。相同的结果,仅显示文本如果您在浏览器中查看源代码,您是否可以看到xml?在查看源代码中,它以两行显示xml格式,但在开始处有三行空行。什么意思是不显示格式?是否定义了XSLT样式表?您可以发布您的XML内容,甚至是您的意思的屏幕截图吗?它仍然有错误XML解析错误:XML或文本声明不在实体的开头。在进行XML声明之前,请确保在
标记之前没有任何其他内容。@Antimo您提到的视图源代码在开头显示了3行空白。所以在我检查的第一行之前可能有一些空行,第一行是
<?php 
    header("Content-type: text/xml"); 
    $xml="<?xml version=\"1.0\" encoding=\"UTF-8\"?>";