18
나는 SO와 다른 곳에서 찾을 수있는 모든 솔루션을 시도했지만 왜 작동하지 않는지 알 수 없습니다.목록의 XmlSerializer.Deserialize
객체로 XML 문자열의 솔직한 직렬화는, 오브젝트는 하나 개의 속성을 가지고 - 목록 : 여기
[XmlTypeAttribute(AnonymousType = true)]
public class UpdateData
{
[XmlArrayItem(ElementName = "Updates")]
public List<Update> Updates { get; set; }
public UpdateData()
{
Updates = new List<Update>();
}
}
public class Update
{
[XmlElement(ElementName = "MemberID")]
public int MemberID { get; set; }
[XmlElement(ElementName = "AnalysisID")]
public int AnalysisID { get; set; }
[XmlElement(ElementName = "MemberName")]
public string MemberName { get; set; }
[XmlElement(ElementName = "RecordDate")]
public DateTime RecordDate { get; set; }
}
가 직렬화 코드 : 여기
private object DeserialzeXml(string xml)
{
var xmlSer = new XmlSerializer(typeof(UpdateData), new XmlRootAttribute("UpdateData"));
var stringReader = new StringReader(xml);
return xmlSer.Deserialize(stringReader);
}
그리고이되는 XML을 :
<?xml version="1.0" encoding="utf-8" ?>
<UpdateData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Updates>
<Update>
<MemberID>1</MemberID>
<AnalysisID>1</AnalysisID>
<MemberName>XXXXXXXXXXXXX</MemberName>
</Update>
<Update>
<MemberID>1</MemberID>
<AnalysisID>2</AnalysisID>
<MemberName>YYYYYYYYYYYYY</MemberName>
</Update>
<Update>
<MemberID>1</MemberID>
<AnalysisID>3</AnalysisID>
<MemberName>ZZZZZZZZZZZZ</MemberName>
</Update>
</Updates>
</UpdateData>
이 코드는 컴파일되어 실행되고 UpdateData 유형의 객체를 반환하지만 Up dates 속성이 비어 있습니다. 어떤 아이디어? 이 귀하의 목록에있는 속성을 변경
감사 브라이언, 치료를 작동 ... 오프 벽에 머리를 이길. – staterium