Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何对对象的xml响应进行反序列化_Xml_Xml Serialization_Xml Deserialization - Fatal编程技术网

如何对对象的xml响应进行反序列化

如何对对象的xml响应进行反序列化,xml,xml-serialization,xml-deserialization,Xml,Xml Serialization,Xml Deserialization,我得到了类似这样的xml响应,当我试图将其反序列化为对象时,我无法做到这一点。值正在变为null 我的回答就在这里 <response> <lst name="responseHeader"> <int name="status">0</int> <int name="QTime">15</int> </response response res = new response(); XmlDocument doc

我得到了类似这样的xml响应,当我试图将其反序列化为对象时,我无法做到这一点。值正在变为null

我的回答就在这里

<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
15

您的XML看起来不像XmlSerializer知道如何处理的格式。 看

您必须正确生成XML,或者如果需要理解这种(奇怪的)XML表单,则必须编写自己的反序列化代码。或者,可能先用XSLT转换它。

我的响应在这里015 response res=new response();XmlDocument doc=新的XmlDocument();doc.LoadXml(XmlString);XmlNodeReader reader=新的XmlNodeReader(doc.DocumentElement);XmlSerializer ser=新的XmlSerializer(res.GetType());对象对象=序列反序列化(读取器);//然后,您只需要将obj转换为任何类型,例如:response myObj=(response)obj;公共类响应{public string responseHeader{get;set;}public int status{get;set;}public int QTime{get;set;}