2012-04-03 3 views
0

xml 응답을 얻는 중입니다. 개체에 deserialize하려고 할 때이 작업을 수행 할 수 없습니다. 값이 null이됩니다.개체에 xml 응답을 deserialize하는 방법

내 대답은 여기

<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

응답 입술 = 새로운 응답(); XmlDocument doc = new XmlDocument(); doc.LoadXml (XmlString); XmlNodeReader reader = 새 XmlNodeReader (doc.DocumentElement); XmlSerializer ser = 새 XmlSerializer (res.GetType()); object obj = ser.Deserialize (reader); // 다음과 같이 obj를 어떤 유형 으로든 캐스팅해야합니다 (예 : ). myObj = (response) obj; 공용 클래스 응답 { public string responseHeader {get; 세트; } public int status {get; 세트; } public int QTime {get; 세트; } } – Anu

답변

0

는 XmlSerializer를 처리하는 방법을 알고있는 형식으로되어처럼 XML이 보이지 않는다. documentation을 참조하십시오.

XML을 올바르게 생성해야하거나이 (이상한) XML 형식을 이해해야 할 경우 사용자 고유의 직렬화 코드를 작성해야합니다. 또는 아마도 XSLT로 먼저 변환하십시오.

관련 문제