Как десериализовать ответ xml на объекты - PullRequest
0 голосов
/ 03 апреля 2012

Я получаю 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; } 
}

1 Ответ

0 голосов
/ 03 апреля 2012

Ваш XML выглядит не так, как в формате, который XmlSerializer знает, как обрабатывать.См. документацию .

. Вам нужно будет либо правильно сгенерировать XML, либо, если вам необходимо понять эту (странную) форму XML, вам придется написать собственный код десериализации.Или, возможно, сначала преобразуйте его с помощью XSLT.

...