带有标题

时间:2015-12-11 02:58:46

标签: php xml

php code

<?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();

当我运行它时,它无法在网页中显示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();

网页显示为空,但在页面查看源中显示

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

并且在开头有三个空行。

1 个答案:

答案 0 :(得分:0)

更改此区域

Collections.addAll(lista, lista2); // Join the 2 lists
Collections.shuffle(lista); // shuffle the result list

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

<强>原因

通过在一行中关闭php并在下一行再次打开,您将在输出中写入一行。如您所知,<?php header("Content-type: text/xml"); $xml="<?xml version=\"1.0\" encoding=\"UTF-8\"?>"; 标记之外的内容将直接打印到浏览器。根据XML规则,您不能在<?php ?>部分之前放置任何内容。