亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

{“ <user xmlns =''>不是預期的。}反序列化Twitter XML

{“ <user xmlns =''>不是預期的。}反序列化Twitter XML

C#
一只名叫tom的貓 2019-10-08 15:13:11
我正在通過OAuth從Twitter提取XML。我正在向http://twitter.com/account/verify_credentials.xml發送請求,該請求返回以下XML:<?xml version="1.0" encoding="UTF-8"?><user>  <id>16434938</id>  <name>Lloyd Sparkes</name>  <screen_name>lloydsparkes</screen_name>  <location>Hockley, Essex, UK</location>  <description>Student</description>  <profile_image_url>http://a3.twimg.com/profile_images/351849613/twitterProfilePhoto_normal.jpg</profile_image_url>  <url>http://www.lloydsparkes.co.uk</url>  <protected>false</protected>  <followers_count>115</followers_count>  <profile_background_color>9fdaf4</profile_background_color>  <profile_text_color>000000</profile_text_color>  <profile_link_color>220f7b</profile_link_color>  <profile_sidebar_fill_color>FFF7CC</profile_sidebar_fill_color>  <profile_sidebar_border_color>F2E195</profile_sidebar_border_color>  <friends_count>87</friends_count>  <created_at>Wed Sep 24 14:26:09 +0000 2008</created_at>  <favourites_count>0</favourites_count>  <utc_offset>0</utc_offset>  <time_zone>London</time_zone>  <profile_background_image_url>http://s.twimg.com/a/1255366924/images/themes/theme12/bg.gif</profile_background_image_url>  <profile_background_tile>false</profile_background_tile>我正在使用以下代碼反序列化:    public User VerifyCredentials()    {        string url = "http://twitter.com/account/verify_credentials.xml";        string xml = _oauth.oAuthWebRequestAsString(oAuthTwitter.Method.GET, url, null);        XmlSerializer xs = new XmlSerializer(typeof(User),"");        MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(xml));        return (User)xs.Deserialize(ms);    }但是,當反序列化以上XML時,應用程序將引發以下情況:$ exception {“ XML文檔(2,2)中存在錯誤?!眪 System.Exception {System.InvalidOperationException}InnerException {“ <用戶xmlns =”>不是預期的?!皚 System.Exception {System.InvalidOperationException}現在,我進行了搜索,找到的最佳解決方案是在序列化內容時向序列化器添加空白名稱空間,但是我沒有序列化它,所以我不能。我也有一些用于接收狀態的代碼,效果很好。那么有人可以向我解釋為什么會發生錯誤嗎?以及可能的解決方案?提前致謝。
查看完整描述

4 回答

?
慕姐4208626

TA貢獻1852條經驗 獲得超7個贊

甚至更容易的是將以下注釋添加到類的頂部:


[Serializable, XmlRoot("user")]

public partial class User

{

}


查看完整回答
反對 回復 2019-10-08
?
12345678_0001

TA貢獻1802條經驗 獲得超5個贊

XmlSerializer xs = new XmlSerializer(typeof(User), new XmlRootAttribute("yourRootName")); 


查看完整回答
反對 回復 2019-10-08
?
aluckdog

TA貢獻1847條經驗 獲得超7個贊

錯誤消息非常模糊,對我來說,我有以下代碼:


var streamReader = new StreamReader(response.GetResponseStream());

var xmlSerializer = new XmlSerializer(typeof(aResponse));

theResponse = (bResponse) xmlSerializer.Deserialize(streamReader);

注意,xmlSerializer是使用aResponse實例化的,但是在反序列化時,我不小心將其強制轉換為bResonse。


查看完整回答
反對 回復 2019-10-08
  • 4 回答
  • 0 關注
  • 356 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號