如何用PHP输出两个XML文档?

时间:2015-05-12 12:43:43

标签: php xml

我有这两个文件,在这个阶段我想直接输出到浏览器。当我回复第一个或第二个文档时,一切都很好,但是,当我尝试输出它们时,我收到了这个错误:

XML解析错误:文档元素之后的垃圾,在第一个XML文档结束(...</response></epp>)和第二个元素开始的位置(<?xml version="1...)。

如何将它们直接输出到浏览器?您可以看到源输出here

1 个答案:

答案 0 :(得分:2)

你不能直接输出两个XML,因为XML format只需要一个根元素,在你的情况下你会回显两个根元素。除此之外,更重要的是,您输出<?xml version="1...部分的两倍,这不允许多次,并且必须出现在文档的开头。

如果要在同一请求中返回两者,您可以做的是生成第三个XML,通过将它们作为子项添加到第3个XML的根来聚合这两个根。例如,如果您的xml看起来像

<?xml version="1.0"?>
<root1>
.....
</root1>

<?xml version="1.0"?>
<root2>
.....
</root2>

然后agregate xml看起来像这样:

<?xml version="1.0"?>
<root3>
    <root1>
    .....
    </root1>

    <root2>
    .....
    </root2>
</root3>

您可以使用xml parser/writer来实现此目的,或者您可以通过使用字符串操作来使用强力来组合两个xml根。