2012-10-01 37 views
19

Im aşağıdaki kodu kullanarak this simple web servicexmlns = ''> beklenmiyordu. - XML ​​belgesinde bir hata var (2, 2)

Im yanıtı serisini çalışıyor: Sen XML serisini ve olarak tedavi etmek istiyorum

WebRequest request = WebRequest.Create("http://inb374.jelastic.tsukaeru.net:8080/VodafoneDB/webresources/vodafone/04111111");  
WebResponse ws = request.GetResponse(); 
XmlSerializer s = new XmlSerializer(typeof(string)); 
string reponse = (string)s.Deserialize(ws.GetResponseStream()); 
+0

Bu hatayı aldığımda başıma gelen şey, aynı dosyanın bir çok nesnesini ayrı ayrı sıraya koyarken, söz konusu xml dosyasını bir listeye serpiştirmeye çalışmaktı. Ne zaman sadece xml dosyasının xmlns bölümünü siliyordu. Özel liste, daha sonra sadece söz konusu listeyi serileştiriyor, sonra xml dosyasını özel listeye serttim. Bunun seninle hiçbir ilgisi olmadığını biliyorum ama onu burada bırakacağım çünkü bu, içine girdiğim sorundu ve bu soruyu ilk bakışta görmemi sağladı, belki de başkalarına yardım edecekti. –

cevap

48

olarak
XmlSerializer s = new XmlSerializer(typeof(string),new XmlRootAttribute("response")); 

yeterlidir.

+1

Teşekkür ederim soooooooo çok! – user1384603

+1

FYI L.B doğru olsa da, bir Ana düğüm varsa küçük bir varyasyon. Xml'de, serileştirme yapılamıyorum, üst düğüm, istisnası atıyordu " Joe

+0

500 lütfeti oy verdiğinizde oy verin. Teşekkürler –

10

bir parça.

here kullanılabilir bir çok basit çözüm var. Ben senin senaryo için bunu değiştirdik:

XmlSerializer'ı bildirme
var webRequest = WebRequest.Create("http://inb374.jelastic.tsukaeru.net:8080/VodafoneDB/webresources/vodafone/04111111"); 

using (var webResponse = webRequest.GetResponse()) 
using (var responseStream = webResponse.GetResponseStream()) 
{ 
    var rootAttribute = new XmlRootAttribute(); 
    rootAttribute.ElementName = "response"; 
    rootAttribute.IsNullable = true; 

    var xmlSerializer = new XmlSerializer(typeof (string), rootAttribute); 
    var response = (string) xmlSerializer.Deserialize(responseStream); 
} 
+0

Zaman ayırdığınız için teşekkür ederiz. Ben kullanıcı L.B cevap çok basit ve yararlı buldum. – user1384603

+0

@ user1384603 Sorun yok. –