2011-10-11 63 views
6

我打電話給第三方服務,他們將響應作爲Xml發送。但是,當我使用WebClient調用服務時,我得到的響應是一個字節數組。如何將WebClient的字節數組響應轉換爲Xml?

var client = new WebClient(); 
var result = client.UploadValues(post_url, data); 

結果是一個字節數組。如何將其轉換爲XML以讀取第三方服務提供的響應?

回答

7

使用MemoryStream

using (var stream = new MemoryStream(result)) 
{ 
    var doc = XDocument.Load(stream); 
    ... 
} 
+0

只是並稱的XDocument在這裏不從System.Xml.Linq命名空間http://msdn.microsoft.com/en-us/library/system.xml.linq.xdocument.aspx,但是一個正常的Xml文檔,其中c從存儲器流中加載,如下所示:http://blogs.msdn.com/b/tolong/archive/2007/11/15/read-write-xml-in-memory-stream.aspx – shashi

8

你可以把字節轉換成字符串:

string xml = Encoding.UTF8.GetString(result); 

,然後分析它:

XDocument doc = XDocument.Parse(xml); 
相關問題