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

elunap

이 XML 구조가 있습니다.

<?xml version="1.0" encoding="UTF-8" ?>
<response uri="/api/" action="EXPORT">
<result>
    <rows>
        <row>
            <column name="Name1">Value1</column>
            <column name="Name2">Value2</column>
        </row>
        <row>
            <column name="Name1">Value1</column>
            <column name="Name2">Value2</column>
        </row>
    </rows>
</result>
</response>

XML을 다음과 같이 목록 개체로 역 직렬화하려고합니다.

 List<ModelXML> model;

        using (TextReader reader = new StringReader(xml_str))
        {
            System.Xml.Serialization.XmlSerializer deserializer = new System.Xml.Serialization.XmlSerializer(typeof(List<ModelXML>),
                new XmlRootAttribute("rows"));
            model= (List<ModelXML>)deserializer.Deserialize(reader);
        }

ModelXML 클래스의 내 매개 변수 :

    [XmlElement("Name1")]
    public string Name1{ set; get; }
    [XmlElement("Name2")]
    public string Name2{ set; get; }

그리고 마지막으로이 오류가 발생합니다.

'='문자 인 16 진수 값 0x3D는 이름에 포함될 수 없습니다. 라인 1, 위치 13.

내가 뭘 잘못하고 있니? 감사.

브라 힘 카멜

여기에서 문제를 해결할 수있는 방법

먼저 모델을 변경해야합니다

[XmlRoot(ElementName = "column")]
    public class Column
    {
        [XmlAttribute(AttributeName = "name")]
        public string Name { get; set; }
        [XmlText]
        public string Text { get; set; }
    }

    [XmlRoot(ElementName = "row")]
    public class Row
    {
        [XmlElement(ElementName = "column")]
        public List<Column> Column { get; set; }
    }

    [XmlRoot(ElementName = "rows")]
    public class Rows
    {
        [XmlElement(ElementName = "row")]
        public List<Row> Row { get; set; }
    }

    [XmlRoot(ElementName = "result")]
    public class Result
    {
        [XmlElement(ElementName = "rows")]
        public Rows Rows { get; set; }
    }

    [XmlRoot(ElementName = "response")]
    public class Response
    {
        [XmlElement(ElementName = "result")]
        public Result Result { get; set; }
        [XmlAttribute(AttributeName = "uri")]
        public string Uri { get; set; }
        [XmlAttribute(AttributeName = "action")]
        public string Action { get; set; }
    }

그런 다음 다음과 같은 역 직렬화 코드를 사용하십시오.

//here I'm trying to load the file from the disk but you can do the same by passing a string 

  Response  model;

            var xml = File.ReadAllText("file.xml");  
            using (TextReader reader = new StringReader(xml))
            {
                System.Xml.Serialization.XmlSerializer deserializer = new System.Xml.Serialization.XmlSerializer(typeof(Response));
                model = (Response)deserializer.Deserialize(reader);
            }   

이와 같이 행에 더 많이 액세스 할 수 있습니다.

var rows = model.Result.Rows; 

//이게 도움이되기를 바랍니다.

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

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

분류에서Dev

xml 개체 C #으로 역 직렬화

분류에서Dev

JSON 목록을 C #의 개체 목록으로 역 직렬화 할 수 없음

분류에서Dev

JSON을 C # 개체로 역 직렬화

분류에서Dev

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

분류에서Dev

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

분류에서Dev

XML을 개체로 역 직렬화

분류에서Dev

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

분류에서Dev

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

분류에서Dev

json 문자열을 .NET 개체 목록으로 역 직렬화

분류에서Dev

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

분류에서Dev

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

분류에서Dev

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

분류에서Dev

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

분류에서Dev

XML 역 직렬화 다른 개체 C #

분류에서Dev

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

분류에서Dev

XML에서 개체 역 직렬화로

분류에서Dev

C # HttpResponseMessage를 개체로 역 직렬화

분류에서Dev

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

분류에서Dev

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

분류에서Dev

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

분류에서Dev

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

분류에서Dev

개체 목록을 다른 컬렉션 형식으로 역 직렬화

분류에서Dev

C #의 JSON 배열을 목록으로 역 직렬화

분류에서Dev

JSON을 C # 개체로 역 직렬화-역 직렬화되는 데이터 없음

분류에서Dev

목록으로 XML 역 직렬화

분류에서Dev

목록으로 XML 역 직렬화

분류에서Dev

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

분류에서Dev

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

Related 관련 기사

  1. 1

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

  2. 2

    xml 개체 C #으로 역 직렬화

  3. 3

    JSON 목록을 C #의 개체 목록으로 역 직렬화 할 수 없음

  4. 4

    JSON을 C # 개체로 역 직렬화

  5. 5

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

  6. 6

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

  7. 7

    XML을 개체로 역 직렬화

  8. 8

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

  9. 9

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

  10. 10

    json 문자열을 .NET 개체 목록으로 역 직렬화

  11. 11

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

  12. 12

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

  13. 13

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

  14. 14

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

  15. 15

    XML 역 직렬화 다른 개체 C #

  16. 16

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

  17. 17

    XML에서 개체 역 직렬화로

  18. 18

    C # HttpResponseMessage를 개체로 역 직렬화

  19. 19

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

  20. 20

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

  21. 21

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

  22. 22

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

  23. 23

    개체 목록을 다른 컬렉션 형식으로 역 직렬화

  24. 24

    C #의 JSON 배열을 목록으로 역 직렬화

  25. 25

    JSON을 C # 개체로 역 직렬화-역 직렬화되는 데이터 없음

  26. 26

    목록으로 XML 역 직렬화

  27. 27

    목록으로 XML 역 직렬화

  28. 28

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

  29. 29

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

뜨겁다태그

보관