从谷歌搜索建议解析xml结果时出现异常

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从谷歌搜索建议解析xml结果时出现异常相关的知识,希望对你有一定的参考价值。

试图获得Google建议。 Im getting the XML back but when parsing using XDocument Im得到以下异常:“根级别的数据无效。”我无法弄清楚造成它的原因。

private const string _suggestSearchUrl =“http://www.google.com/complete/search?output=toolbar&q= {0}&hl = en”;

    public List<GoogleSuggestion> GetData(string query)
    {
        if (String.IsNullOrWhiteSpace(query))
        {
            throw new ArgumentException("Argument cannot be null or empty!", "query");
        }

        string result = String.Empty;

        using (HttpClient client = new HttpClient())
        {
            result = String.Format(_suggestSearchUrl, query);
        }


        XDocument doc = XDocument.Parse(result);  (I`m getting exception here)





        var suggestions = from suggestion in doc.Descendants("CompleteSuggestion")
                          select new GoogleSuggestion
                          {
                              Phrase = suggestion.Element("suggestion").Attribute("data").Value
                          };

        return suggestions.ToList();
答案

您正在尝试解析您的Uri,而不是发出请求并解析响应。

var response = await client.GetAsync(uri);
var result = await response.Content.ReadAsStringAsync();

您还应该重复使用HttpClient实例,即使它是一次性的。

以上是关于从谷歌搜索建议解析xml结果时出现异常的主要内容,如果未能解决你的问题,请参考以下文章

在使用ViewPager时尝试从其父活动修改片段时出现空指针异常

从 ServletContext 资源解析 XML 文档时出现意外异常

尝试使用 dom 解析 xml 页面时出现空指针异常

从类路径资源解析 XML 文档时出现意外异常

“解析 XML 文件时出现异常:文件过早结束。”尝试将 svg 导入 Android Studio

org.springframework.beans.factory.BeanDefinitionStoreException:从 ServletContext 资源解析 XML 文档时出现意外异常