2012-04-03 20 views
0

このようなxml応答が得られます。オブジェクトに逆シリアル化しようとすると、これを行うことができませんでした。値はnullになります。オブジェクトへのxml応答を逆シリアル化する方法

私の応答はここにある

<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

私の応答はここにある 0 15の Anu

+0

応答RES =新しい応答(); XmlDocument doc =新しいXmlDocument(); doc.LoadXml(XmlString); XmlNodeReader reader =新しいXmlNodeReader(doc.DocumentElement); XmlSerializer ser =新しいXmlSerializer(res.GetType()); オブジェクトobj = ser.Deserialize(リーダー); // objをどのタイプにでもキャストするだけです(例: )。myObj =(response)obj; public class response { 公開ストリングresponseHeader {get;セット; } public int status {get;セット; } public int QTime {get;セット; } } – Anu

答えて

0

それはXmlSerializerをを処理する方法を知っているフォーマットであるようにあなたのXMLが見えません。 documentationを参照してください。

XMLを正しく生成する必要があります。この(奇妙な)XMLフォームを理解する必要がある場合は、独自の非直列化コードを記述する必要があります。あるいは、XSLTで最初に変換することもできます。

関連する問題