Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
返回无效XML的YQL查询_Xml_Wikipedia_Yql - Fatal编程技术网

返回无效XML的YQL查询

返回无效XML的YQL查询,xml,wikipedia,yql,Xml,Wikipedia,Yql,我目前正在使用下面的YQL语句来抓取站点的页面内容。其中{EncodedURI}是我正在抓取的页面。例如:http%3A%2F%2Fstackoverflow.com SELECT * FROM html WHERE url="{EncodedURI}" 对于大多数URL来说,这很好。XML是有效的,我的应用程序将继续运行。但在某些URL上,返回的XML无效。有趣的是,我发现导致此错误的一个URL是 我已从查询中获取原始响应,并将其通过XML验证器,得到以下错误: error on line

我目前正在使用下面的YQL语句来抓取站点的页面内容。其中
{EncodedURI}
是我正在抓取的页面。例如:http%3A%2F%2Fstackoverflow.com

SELECT * FROM html WHERE url="{EncodedURI}"
对于大多数URL来说,这很好。XML是有效的,我的应用程序将继续运行。但在某些URL上,返回的XML无效。有趣的是,我发现导致此错误的一个URL是

我已从查询中获取原始响应,并将其通过XML验证器,得到以下错误:

error on line 2 at column 6:XML declaration allowed only at the start of the document
似乎接近响应末尾的XML变得混乱,但我还没有找到确切的问题所在

有什么想法吗

更新:

我已将响应末尾的XML更改为:

</body></results></query>>!-- Stotal: 288-->
<!-- Lengine9.yql.ac4.yhouocolm-->
<
!--斯托尔:288-->
<



我可以很容易地让我的应用程序修复XML,使其正常工作,但显然,该解决方案并不理想。有人知道如何避免这个问题吗?

我在firefox中看到了错误。我想你们可以做的一件事就是请求JSON响应。只需将
&format=json
添加到REST调用中。例如:。至少你不必担心feed,甚至不用解析。同样,这并不理想,但应该可以工作。

您是如何执行查询的?在控制台中,它可以正常工作,但如果您复制控制台底部的REST查询,则会出现错误。我这样做时不会出现任何错误。这很奇怪。您将REST查询粘贴到浏览器的地址栏中,但没有返回格式错误的XML?作为参考,我正在使用Chrome,我注意到IE不会突出显示XML格式不正确。哦,我明白了,请删除queryhmm末尾的
&diagnostics=true
,我将尝试一下。我的应用程序是用JavaScript编写的,我使用jQuery从我想要的响应中搜索和收集信息,但我可以改变这一点。再努力一点!工作…我也在YQL论坛上发了一篇帖子。希望他们能把它作为bug记录下来。谢谢你的建议
</body></results></query><!-- Stotal: 288-->
<!-- Lengine9.yql.ac4.yhouocolm-->