代码之家  ›  专栏  ›  技术社区  ›  Sergio Tapia

如何将byte[]响应转换为有效的XDocument?

  •  6
  • Sergio Tapia  · 技术社区  · 14 年前
    <?xml version="1.0" encoding="utf-8"?>
    <rsp stat="ok">
            <image_hash>cxmHM</image_hash>
            <delete_hash>NNy6VNpiAA</delete_hash>
            <original_image>http://imgur.com/cxmHM.png</original_image>
            <large_thumbnail>http://imgur.com/cxmHMl.png</large_thumbnail>
            <small_thumbnail>http://imgur.com/cxmHMl.png</small_thumbnail>
            <imgur_page>http://imgur.com/cxmHM</imgur_page>
            <delete_page>http://imgur.com/delete/NNy6VNpiAA</delete_page>
    </rsp>
    

    这是我将收到的典型答复。我尝试了以下操作,但遇到一个错误,告诉我不能将非空格字符添加到内容中。

    XDocument response = new XDocument(w.UploadValues("http://imgur.com/api/upload.xml", values));    
    
    2 回复  |  直到 14 年前
        1
  •  11
  •   Henk Holterman    14 年前
    byte[] responseData = w.UploadValues("http://imgur.com/api/upload.xml", values);
    string responseText = Encoding.ASCII.GetString(responseData);  //  ASCII assumed
    XDocument respnseXml = XDocument.Parse(responseText); 
    

    但这个错误也可能来自 values .

        2
  •  3
  •   Dennis Rosenbaum    7 年前

    byte[] responseData = w.UploadValues("http://imgur.com/api/upload.xml", values);
    using(var ms = new MemoryStream(responseData)) 
    {
    var responseXml = XDocument.Load(ms);
    }