2012-04-03 12 views
0

Ich bekomme die XML-Antwort so etwas wie und wenn ich versuche, es zu Objekten deserialisieren, konnte ich dies nicht tun. Werte werden null.Wie XML-Antwort auf Objekte zu deserialisieren

meine Antwort ist hier

<response> 
<lst name="responseHeader"> 
<int name="status">0</int> 
<int name="QTime">15</int> 
</response 

response res = new response(); 
XmlDocument doc = new XmlDocument(); 
doc.LoadXml(XmlString); 
XmlNodeReader reader = new XmlNodeReader(doc.DocumentElement); 
XmlSerializer ser = new XmlSerializer(res.GetType()); 
object obj = ser.Deserialize(reader); // Then you just need to cast obj into whatever type it is, e.g.: response myObj = (response)obj; 

public class response 
{ 
public string responseHeader { get; set; } 
public int status { get; set; } 
public int QTime { get; set; } 
} 
+0

meine Antwort ist hier 0 15 Anu

+0

Antwort res = neue Antwort(); XmlDocument doc = neues XmlDocument(); doc.LoadXml (XmlString); XmlNodeReader reader = neuer XmlNodeReader (doc.DocumentElement); XmlSerializer ser = neuer XmlSerializer (res.GetType()); Objekt obj = ser.Deserialize (Leser); // Dann müssen Sie nur Obj in jeden beliebigen Typ, z. B. Antwort myObj = (Antwort) Obj; öffentliche Klassenantwort { public string responseHeader {get; einstellen; } öffentlicher Int-Status {get; einstellen; } public int QTime {erhalten; einstellen; } } – Anu

Antwort

0

Ihre XML sieht nicht, wie es in dem Format, das XmlSerializer weiß, wie zu handhaben. Siehe documentation.

Sie müssen entweder das XML korrekt generieren oder wenn Sie dieses (seltsame) XML-Formular verstehen müssen, müssen Sie Ihren eigenen Deserialisierungscode schreiben. Oder, vielleicht, transformieren Sie es zuerst mit XSLT.

Verwandte Themen