2012-10-01 7 views
19

इम निम्नलिखित कोड का उपयोग कर this simple web servicexmlns = ''> की उम्मीद नहीं थी। - XML ​​दस्तावेज में कोई त्रुटि है (2, 2)

इम से प्रतिक्रिया deserialize की कोशिश कर रहा:

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

जब मुझे यह त्रुटि मिली तो मेरे साथ क्या हुआ था, मैं एक ही फाइल में अलग-अलग ऑब्जेक्ट्स को क्रमबद्ध कर रहा था, फिर एक्सएमएल फ़ाइल को एक सूची में deserialize करने की कोशिश कर रहा था, यह तय किया कि यह सिर्फ xml फ़ाइल के xmlns भाग को हटा रहा था, कस्टम सूची, फिर केवल उस सूची को क्रमबद्ध करना, फिर मैंने xml फ़ाइल को कस्टम सूची में deserialized। मुझे पता है कि इसका आपके साथ कुछ लेना देना नहीं है, लेकिन मैं इसे यहां छोड़ने जा रहा हूं क्योंकि उस समस्या में मैंने भाग लिया जिसने मुझे इस सवाल को पहली जगह में देखा ताकि शायद यह किसी और की मदद करे। –

उत्तर

48

XmlSerializer की घोषणा के रूप में

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

पर्याप्त है।

+1

आपको बहुत धन्यवाद! – user1384603

+1

एफवाईआई एलबी सही है, हालांकि माता-पिता नोड होने पर मामूली भिन्नता है। एक्सएमएल में मैं पैरेंट नोड को डी-सीरियलाइज कर रहा हूं जो अपवाद फेंक रहा था " Joe

+0

वोट देने के लिए इसके रास्ते पर 500 बक्षीस। धन्यवाद। –

10

आप एक्सएमएल deserialize और के रूप में यह इलाज के लिए चाहते हैं एक टुकड़ा

here उपलब्ध एक बहुत ही सरल कामकाज है। मैं अपने परिदृश्य के लिए इसे संशोधित किया है:

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

आपके समय के लिए धन्यवाद। मैंने उपयोगकर्ता एलबी जवाब बहुत सरल और उपयोगी पाया। – user1384603

+0

@ user1384603 कोई समस्या नहीं है। –

संबंधित मुद्दे