【问题标题】:JSON data at the root level is invalid line 1 position 1根级别的 JSON 数据无效 line 1 position 1
【发布时间】:2013-01-13 00:12:02
【问题描述】:

我将HttpWebResponse 作为 XML 获取,但它甚至看起来不像 XML 文档,因为返回的 XML 不包含标题

<?xml version='1.0' encoding='UTF-8'?>

我无法解析它。它正在引发异常

根级数据无效 line 1 position 1

System.Xml.XmlException: Root element is missing.

我尝试了所有案例。我想不通。

using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
    StreamReader responsereader = new StreamReader(response.GetResponseStream());
    string responsedata = responsereader.ReadToEnd();
    XmlDocument xmldoc = new XmlDocument();
    xmldoc.load(responsedata);
}

我传递给load() 方法的文档大致如下:

<ns2:HotelListResponse>
    <customerSessionId>0ABAA82C-EBAC-4791-3C22-4DEFAE‌​D93172</customerSessionId>
    <numberOfRoomsRequested>0</numberOfRoomsRequested>
    <more‌​ResultsAvailable>false</moreResultsAvailable>
    <HotelList activePropertyCount="198" size="198">
        <HotelSummary order="0">
            <hotelId>195974</hotelId>
    ...
</ns2:HotelListResponse>

由于长度原因,我只提供了一个 sn-p。

【问题讨论】:

  • 请发布您遇到问题的 XML 文档。
  • 我的 xml 文档是 httpwebresponse,它太长了。我发布了一些带有根元素的 xml。0ABAA82C-EBAC-4791-3C22-4DEFAED931720false195974
  • 您应该将这些信息放在问题中,作为编辑,以便任何阅读的人都有机会看到它。您可以将整个文档内容发布到 pastebin 并在此处提供链接吗?
  • 请将整个HttpWebResponse内容的内容作为单独的粘贴箱发布。

标签: xml xmldocument


【解决方案1】:

XmlDocument.Load 方法从流或其他字节源加载。你想要XmlDocument.LoadXml

【讨论】:

  • 我试过了,但它不适合我。 XmlDocument xmldoc = new XmlDocument();使用 (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) { StreamReader responsereader = new StreamReader(response.GetResponseStream());字符串响应数据 = responsereader.ReadToEnd(); xmldoc.LoadXml(响应数据); }
  • 然后在加载之前查看responsedata。使用调试器,它可以将数据显示为 XML。或者,使用xmldoc.Load(resposeReader)
  • 我得到了这个异常:无效的 URI:Uri 字符串太长。实际上我得到了 xml 作为响应。但我认为我的响应 xml 不包含此标头 这就是我无法解析的原因。如果您有任何解决方案,请发布。
  • 尝试添加适当的标头,然后查看是否解析。
  • 我刚刚告诉你如何解决它。去阅读文档。如果您坚持以艰难的方式进行操作,那么请使用 Fiddler 或其他东西来观察浏览器做什么以及您的程序做什么。那么请问一个单独的问题关于如何让你的程序做浏览器所做的事情。如果您学习了如何使 XML 恢复,但仍有 XML 解析问题,那么请提出单独的 XML 解析问题。这个问题现在没用了。
猜你喜欢
  • 1970-01-01
  • 2018-03-30
  • 2013-07-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-01
相关资源
最近更新 更多