为什么这个XML会导致“有多个根元素”错误?

时间:2012-02-14 18:35:35

标签: xml api

处理EXE报告“System.Xml.XmlException:有多个根元素。第2行,第2位。”

返回的XML如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<api><response status="ok"><token>6a4a4dfe610572668167a67c3a0fa815</token></response></api>

EXE是我们的黑匣子,我们没有任何支持或文档可供使用。我们通过模拟其响应来重新创建API。我的XML看起来与旧API的XML完全相同,响应前面有<?php header('Content-type: text/xml'); ?>

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

XML没有任何问题,请检查调用代码。

如果您发布,我们可以帮助您。

答案 1 :(得分:0)

我将此作为答案添加,但将Nix的答案作为选定的正确答案,希望能帮助其他人解决这个难题。

我在PHP中分配了auth令牌的值,如下所示:

$string = $_SERVER['HTTP_USER_AGENT'];
$string .= time();
$auth = md5($string);

在某种程度上,这行$string = $_SERVER['HTTP_USER_AGENT'];导致.NET XML解析器在查看XML输出时发现无法看到的空格或换行符,但注释掉该行已解除“有多个行”根元素“错误。

感谢所有看过这个的人!