xml 개체 C #으로 역 직렬화

독성

C # 개체로 역 직렬화하려는 문자열에 xml 개체가 있습니다. 간단한 성별 클래스를 테스트했는데 잘 작동했지만 다른 xml 문서가 작동하지 않는 이유를 모르겠습니다.

xml

<StudentByPersonCode>
  <StudentByPersonCode list="1">
    <Item>
      <PERSON_CODE>33317</PERSON_CODE>
      <FORENAME>Louis</FORENAME>
      <MIDDLE_NAMES>Ane</MIDDLE_NAMES>
      <SURNAME>Sullivan</SURNAME>
      <TITLE>MISS</TITLE>
      <SEX>F</SEX>
      <DATE_OF_BIRTH>1/01/1998 00:00:00</DATE_OF_BIRTH>
      <PROGRESS_STATUS>A</PROGRESS_STATUS>
    </Item>
   </StudentByPersonCode>
 </StudentByPersonCode>

학생 클래스 개체

[Serializable]
[XmlRoot("StudentByPersonCode")]
public class Student
{
    [XmlElement("StudentByPersonCode ")]
    public List<StudentListWrap> StudentListWrap = new List<StudentListWrap>();

    public WebServiceStatus WebServiceStatus { get; set; }
}

public class StudentListWrap
{
    [XmlAttribute("list")]
    public string ListTag { get; set; }

    [XmlElement("Item")]
    public List<Students> Students = new List<Students>();

}


public class Students
{
    [XmlElement("PERSON_CODE")]
    public int PersonCode { get; set; }

    [XmlElement("TITLE")]
    public string Title { get; set; }

    [XmlElement("FORENAME")]
    public string Forename { get; set; }

    [XmlElement("MIDDLE_NAMES")]
    public string MiddleName { get; set; }

    [XmlElement("SURNAME")]
    public string Surname { get; set; }

    [XmlElement("SEX")]
    public string Sex { get; set; }

    [XmlElement("DATE_OF_BIRTH")]
    public DateTime DateOfBirth { get; set; }

    [XmlElement("PROGRESS_STATUS")]
    public string ProgressStatus { get; set; }
} 

역 직렬화 할 클래스

 public static T DeserializeXMLToObject<T>(string xml) where T : class
    {
        T obj = null;
        StringReader strReader = null;
        XmlSerializer serializer = null;
        XmlTextReader xmlReader = null;
        try
        {
            strReader = new StringReader(xml);
            serializer = new XmlSerializer(typeof(T));
            xmlReader = new XmlTextReader(strReader);
            obj = (T)serializer.Deserialize(xmlReader);
        }
        catch (Exception exp)
        {
            //Handle Exception Code
            var s = "d";
        }
        finally
        {
            if (xmlReader != null)
            {
                xmlReader.Close();
            }
            if (strReader != null)
            {
                strReader.Close();
            }
        }
        return (T)Convert.ChangeType(obj, typeof(T));
    }

}

잘 작동하는 XML 문서

<Genders>
 <Genders list="1">
  <Item>
   <CODE>M</CODE>
   <DESCRIPTION>Male</DESCRIPTION>
  </Item>
  <Item>
   <CODE>F</CODE>
   <DESCRIPTION>Female</DESCRIPTION>
  </Item>
 </Genders>
</Genders>

성별 개체 클래스

 [Serializable]
[XmlRoot("Genders")]
public class Gender
{

    [XmlElement("Genders")]
    public List<GenderListWrap> GenderListWrap = new List<GenderListWrap>();

    public WebServiceStatus WebServiceStatus { get; set; }
}


public class GenderListWrap
{
    [XmlAttribute("list")]
    public string ListTag { get; set; }

    [XmlElement("Item")]
    public List<Item> GenderList = new List<Item>();
}



public class Item
{
    [XmlElement("CODE")]
    public string Code { get; set; }

    [XmlElement("DESCRIPTION")]
    public string Description { get; set; }
}
rbr94

이 줄에 실수로 공백을 추가했다고 제안합니다.

[XmlElement("StudentByPersonCode ")]

이 시도:

[XmlElement("StudentByPersonCode")]

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

C # XML을 개체 목록으로 역 직렬화

분류에서Dev

XML 역 직렬화 다른 개체 C #

분류에서Dev

C #에서 XML을 개체로 역 직렬화하는 방법

분류에서Dev

개체 직렬화 후 list <object> C #으로 역 직렬화

분류에서Dev

XML을 개체로 역 직렬화

분류에서Dev

XML에서 개체 역 직렬화로

분류에서Dev

JSON을 C # 개체로 역 직렬화

분류에서Dev

C # HttpResponseMessage를 개체로 역 직렬화

분류에서Dev

웹 서비스 API에서 C # 개체로 XML 문자열 역 직렬화

분류에서Dev

문자열 (구문과 같은 XML 노드)을 C # 개체로 역 직렬화

분류에서Dev

JSON 파일을 개체 C #으로 역 직렬화

분류에서Dev

json 문자열을 개체 C # .net으로 역 직렬화

분류에서Dev

JSON을 C # 개체 목록으로 역 직렬화

분류에서Dev

JSON 개체를 .Net 목록으로 역 직렬화 (C #)

분류에서Dev

XML 역 직렬화 C #, 개행 문자 \ n이 \\ n으로 바뀝니다.

분류에서Dev

C #의 목록이있는 개체에 XML 역 직렬화

분류에서Dev

복잡한 XML을 개체로 역 직렬화

분류에서Dev

XML 역 직렬화로 인해 빈 개체가 생성됨

분류에서Dev

XML 역 직렬화로 인해 빈 개체가 생성됨

분류에서Dev

키 / 값 xml을 개체로 역 직렬화

분류에서Dev

XML 파일을 개체 목록으로 역 직렬화하는 방법

분류에서Dev

동적으로 C # 클래스로 XML 역 직렬화

분류에서Dev

XML을 C #의 목록으로 역 직렬화

분류에서Dev

JSON 배열을 C # 개체로 역 직렬화 (TFL API)

분류에서Dev

값 목록을 C # 개체로 역 직렬화하는 방법

분류에서Dev

JSON 문자열을 C # 및 Unity의 개체로 역 직렬화

분류에서Dev

CSV 문자열을 C # 개체로 역 직렬화

분류에서Dev

JsonObject를 C # 개체로 역 직렬화하지 않음

분류에서Dev

콘텐츠 유형을 따라 동적 개체 JSON으로 역 직렬화-C #

Related 관련 기사

  1. 1

    C # XML을 개체 목록으로 역 직렬화

  2. 2

    XML 역 직렬화 다른 개체 C #

  3. 3

    C #에서 XML을 개체로 역 직렬화하는 방법

  4. 4

    개체 직렬화 후 list <object> C #으로 역 직렬화

  5. 5

    XML을 개체로 역 직렬화

  6. 6

    XML에서 개체 역 직렬화로

  7. 7

    JSON을 C # 개체로 역 직렬화

  8. 8

    C # HttpResponseMessage를 개체로 역 직렬화

  9. 9

    웹 서비스 API에서 C # 개체로 XML 문자열 역 직렬화

  10. 10

    문자열 (구문과 같은 XML 노드)을 C # 개체로 역 직렬화

  11. 11

    JSON 파일을 개체 C #으로 역 직렬화

  12. 12

    json 문자열을 개체 C # .net으로 역 직렬화

  13. 13

    JSON을 C # 개체 목록으로 역 직렬화

  14. 14

    JSON 개체를 .Net 목록으로 역 직렬화 (C #)

  15. 15

    XML 역 직렬화 C #, 개행 문자 \ n이 \\ n으로 바뀝니다.

  16. 16

    C #의 목록이있는 개체에 XML 역 직렬화

  17. 17

    복잡한 XML을 개체로 역 직렬화

  18. 18

    XML 역 직렬화로 인해 빈 개체가 생성됨

  19. 19

    XML 역 직렬화로 인해 빈 개체가 생성됨

  20. 20

    키 / 값 xml을 개체로 역 직렬화

  21. 21

    XML 파일을 개체 목록으로 역 직렬화하는 방법

  22. 22

    동적으로 C # 클래스로 XML 역 직렬화

  23. 23

    XML을 C #의 목록으로 역 직렬화

  24. 24

    JSON 배열을 C # 개체로 역 직렬화 (TFL API)

  25. 25

    값 목록을 C # 개체로 역 직렬화하는 방법

  26. 26

    JSON 문자열을 C # 및 Unity의 개체로 역 직렬화

  27. 27

    CSV 문자열을 C # 개체로 역 직렬화

  28. 28

    JsonObject를 C # 개체로 역 직렬화하지 않음

  29. 29

    콘텐츠 유형을 따라 동적 개체 JSON으로 역 직렬화-C #

뜨겁다태그

보관