클래스 이름을 루트 요소로 사용하여 C # 클래스를 직렬화하는 방법

Neildt

다음 C # 클래스가 있습니다.

[XmlRoot("Customer")]
public class MyClass
{
    [XmlElement("CustId")]
    public int Id {get;set;}

    [XmlElement("CustName")]
    public string Name {get;set;}
}

그런 다음 다음 함수를 사용하여 클래스 개체를 Xml로 직렬화합니다.

 public static XmlDocument SerializeObjectToXML(object obj, string sElementName)
 {
    XmlSerializer serializer = 
          new XmlSerializer(obj.GetType(), new XmlRootAttribute("Response"));

    using (MemoryStream ms = new MemoryStream())
    {
       XmlDocument xmlDoc = new XmlDocument();
       serializer.Serialize(ms, obj);
       ms.Position = 0;
       xmlDoc.Load(ms);
    }
}

XML에 대한 현재 출력은 다음과 같습니다.

<Response>
  <CustId></CustId>
  <CustName></CustName>
</Response>

그러나 어떻게 응답을 얻을 수 있습니까?

<Response>
  <Customer>
     <CustId></CustId>
     <CustName></CustName>
  </Customer>
</Response>
로렌스

XmlElementAttributeon MyClass( http://msdn.microsoft.com/en-us/library/system.xml.serialization.xmlelementattribute (v = vs.110 ) .aspx 에 따라 실제로 유효하지 않습니다)을 다음 으로 변경하십시오 XmlTypeAttribute.

    [XmlType("Customer")]
    public class MyClass
    {
        [XmlElement("CustId")]
        public int Id { get; set; }

        [XmlElement("CustName")]
        public string Name { get; set; }
    }

직렬화 방법은 이제 다음과 같을 수 있습니다 (질문의 경우와 동일하지만의 생성자에 두 번째 매개 변수가 없음 XmlSerializer).

    public static XmlDocument SerializeObjectToXML(object obj, string sElementName)
    {
        XmlSerializer serializer = new XmlSerializer(obj.GetType());
        XmlDocument xmlDoc = new XmlDocument();
        using (MemoryStream ms = new MemoryStream())
        {

            serializer.Serialize(ms, obj);
            ms.Position = 0;
            xmlDoc.Load(ms);
        }

        return xmlDoc;
    }

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

(역) 하나의 클래스를 사용하여 다른 루트 요소 이름 직렬화

분류에서Dev

클래스 이름을 동적 값으로 사용하여 json을 역 직렬화하는 방법

분류에서Dev

C #을 사용하여 클래스로 JSON 역 직렬화

분류에서Dev

구성을 사용하는 C # 클래스로 JSON을 역 직렬화하는 방법

분류에서Dev

데이터 속성을 트리거로 사용하여 클래스 형제 요소를 제거하는 방법

분류에서Dev

RestSharp를 사용하여 C # 클래스로 변경되는 JSON을 직렬화하는 방법은 무엇입니까?

분류에서Dev

C ++에서 Parent 클래스를 Child 클래스로 캐스트 / 복사하는 방법이 있습니까?

분류에서Dev

C #에서 클래스 개체를 JSON 문자열로 직렬화하는 동안 키 이름을 동적으로 설정하는 방법

분류에서Dev

boost :: serialization을 사용하여 부스트 adjacency_list를 멤버로 포함하는 클래스 직렬화

분류에서Dev

클래스 내부의 클래스 이름으로 요소를 호출하고 사용하는 방법

분류에서Dev

모델 클래스 데이터를 json으로 직렬화하는 방법

분류에서Dev

자바 스크립트를 사용하여 요소 CSS 클래스 런타임을 변경하는 방법

분류에서Dev

JQuery : 클래스 이름에 소수를 사용하여 텍스트를 얻는 방법?

분류에서Dev

Spring Boot (Jackson) : 클래스 이름이 JSON으로 직렬화되는 것을 방지하는 방법

분류에서Dev

Silverlight를 사용하여 XML을 클래스로 직렬화

분류에서Dev

동적 필드 이름을 사용하여 JSON을 C # 클래스로 역 직렬화

분류에서Dev

javascript / jquery를 사용하여 특정 텍스트가있는 요소의 클래스 이름을 얻는 방법은 무엇입니까?

분류에서Dev

Jackson을 사용하여 JAVA 클래스를 대상으로하는 JSON 직렬화 및 역 직렬화

분류에서Dev

배열에없는 클래스 이름을 가진 요소에 클래스를 추가하는 방법

분류에서Dev

Web API에서 클래스로 JSON을 역 직렬화하는 방법

분류에서Dev

포인터 C ++를 사용하여 클래스의 소멸자를 다른 클래스로 만드는 방법은 무엇입니까? 한 방향 목록 컨테이너 클래스 및 노드 클래스와 같은 것

분류에서Dev

Json을 C # 클래스로 직렬화하여 오류 발생

분류에서Dev

클래식 매핑을 사용하여 SQLAlchemy로 다 대다 클래스를 초기화하는 방법

분류에서Dev

클래스 내에서 'for 루프'를 사용하여 열 이름을 정의하는 방법 (IsDescription)

분류에서Dev

클래스 이름으로 각 요소를 반복하는 방법

분류에서Dev

JSON.NET C #을 사용하여 내부 클래스가있는 json 파일로 역 직렬화

분류에서Dev

ObjectMapper로 클래스를 직렬화하는 동안 속성을 무시하는 방법

분류에서Dev

Objective-C 런타임을 사용하지 않고 Swift에서 이름으로 클래스를 인스턴스화하는 방법

분류에서Dev

다른 클래스의 on click 메소드를 사용하여 한 클래스의 값을 전달하는 방법

Related 관련 기사

  1. 1

    (역) 하나의 클래스를 사용하여 다른 루트 요소 이름 직렬화

  2. 2

    클래스 이름을 동적 값으로 사용하여 json을 역 직렬화하는 방법

  3. 3

    C #을 사용하여 클래스로 JSON 역 직렬화

  4. 4

    구성을 사용하는 C # 클래스로 JSON을 역 직렬화하는 방법

  5. 5

    데이터 속성을 트리거로 사용하여 클래스 형제 요소를 제거하는 방법

  6. 6

    RestSharp를 사용하여 C # 클래스로 변경되는 JSON을 직렬화하는 방법은 무엇입니까?

  7. 7

    C ++에서 Parent 클래스를 Child 클래스로 캐스트 / 복사하는 방법이 있습니까?

  8. 8

    C #에서 클래스 개체를 JSON 문자열로 직렬화하는 동안 키 이름을 동적으로 설정하는 방법

  9. 9

    boost :: serialization을 사용하여 부스트 adjacency_list를 멤버로 포함하는 클래스 직렬화

  10. 10

    클래스 내부의 클래스 이름으로 요소를 호출하고 사용하는 방법

  11. 11

    모델 클래스 데이터를 json으로 직렬화하는 방법

  12. 12

    자바 스크립트를 사용하여 요소 CSS 클래스 런타임을 변경하는 방법

  13. 13

    JQuery : 클래스 이름에 소수를 사용하여 텍스트를 얻는 방법?

  14. 14

    Spring Boot (Jackson) : 클래스 이름이 JSON으로 직렬화되는 것을 방지하는 방법

  15. 15

    Silverlight를 사용하여 XML을 클래스로 직렬화

  16. 16

    동적 필드 이름을 사용하여 JSON을 C # 클래스로 역 직렬화

  17. 17

    javascript / jquery를 사용하여 특정 텍스트가있는 요소의 클래스 이름을 얻는 방법은 무엇입니까?

  18. 18

    Jackson을 사용하여 JAVA 클래스를 대상으로하는 JSON 직렬화 및 역 직렬화

  19. 19

    배열에없는 클래스 이름을 가진 요소에 클래스를 추가하는 방법

  20. 20

    Web API에서 클래스로 JSON을 역 직렬화하는 방법

  21. 21

    포인터 C ++를 사용하여 클래스의 소멸자를 다른 클래스로 만드는 방법은 무엇입니까? 한 방향 목록 컨테이너 클래스 및 노드 클래스와 같은 것

  22. 22

    Json을 C # 클래스로 직렬화하여 오류 발생

  23. 23

    클래식 매핑을 사용하여 SQLAlchemy로 다 대다 클래스를 초기화하는 방법

  24. 24

    클래스 내에서 'for 루프'를 사용하여 열 이름을 정의하는 방법 (IsDescription)

  25. 25

    클래스 이름으로 각 요소를 반복하는 방법

  26. 26

    JSON.NET C #을 사용하여 내부 클래스가있는 json 파일로 역 직렬화

  27. 27

    ObjectMapper로 클래스를 직렬화하는 동안 속성을 무시하는 방법

  28. 28

    Objective-C 런타임을 사용하지 않고 Swift에서 이름으로 클래스를 인스턴스화하는 방법

  29. 29

    다른 클래스의 on click 메소드를 사용하여 한 클래스의 값을 전달하는 방법

뜨겁다태그

보관