그런 XML이 있습니다
<?xml version="1.0" ?>
<response>
<id-number>2979183</id-number>
<differentiator-question>
<prompt>How old are you?</prompt>
<type>age.range</type>
<answer>29 - 38</answer>
<answer>39 - 48</answer>
<answer>49 - 58</answer>
<answer>59 - 68</answer>
<answer>None of the above</answer>
</differentiator-question>
<error>Invalid username and password</error>
</response>
.NET에 내장 된 직렬화 메커니즘을 사용하여 역 직렬화하려고합니다. 그런 수업을 만들었습니다.
[XmlRoot("response")]
public class IdologyAnswerMapping
{
[XmlElement("id-number")]
public string IdNumber { get; set; }
public class DifferentiatorQuestionType
{
[XmlElement("prompt")]
public string Prompt { get; set; }
[XmlElement("type")]
public string Type { get; set; }
[XmlArray("answer")]
public string[] Answers { get; set; }
}
[XmlElement("differentiator-question")]
public DifferentiatorQuestionType DifferentiatorQuestion { get; set; }
public static IdologyAnswerMapping FromXml(string xml)
{
XmlSerializer serializer = new XmlSerializer(typeof(IdologyAnswerMapping));
IdologyAnswerMapping answer = (IdologyAnswerMapping)serializer.Deserialize(new StringReader(xml));
return answer;
}
}
그러나 Answers 배열의 크기는 0입니다. 모든 <answer />
태그를 Answers 배열에 배치하려면 어떻게해야 합니까?
감사합니다.
XmlElement
대신 사용XmlArray
[XmlElement("answer")]
public string[] Answers { get; set; }
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다