>백엔드 개발 >C#.Net 튜토리얼 >C# xml 역직렬화 코드 예제 세부정보

C# xml 역직렬화 코드 예제 세부정보

黄舟
黄舟원래의
2017-03-03 11:47:281272검색

XML 역직렬화는 매우 편리합니다. 예:

 [XmlRoot(Root = "result")]
    public class UniMsgSetResult
    {
        [XmlAttribute("resultCode")]
        public int resultCode;


        [XmlElement("uniMsgSet")]
        public UniMsgSet uniMsgSet;

    }
<result resultCode="0">
<UniMsgSet>...</UniMsgSet>
</result>

컬렉션 유형 예:

[XmlRoot("result")]
    public class GetDiskInnerResult
    {
        public string parentCatalogID; //String32 待查询目录的父目录ID。如果当前目录为root,则父目录ID为空。


        


        [XmlArray("catalogList"), XmlArrayItem("catalogInfo")]
        public List<CatalogInfo> catalogList;// CatalogInfo[] 查询节点下的目录列表


        [XmlArray("contentList"), XmlArrayItem("contentInfo")]
        public List<ContentInfo> contentList; // ContentInfo[] 查询节点下的内容列表
    }
 <result>
    <parentCatalogID>1</parentCatalogID>
    <catalogList>
    <catalogInfo>...</catalogInfo>
    <catalogInfo>...</catalogInfo>
    </catalogList>


    <contentList>
    <contentInfo>...</contentInfo>
    <contentInfo>...</contentInfo>
    </contentList>
    </result>

컬렉션 엔터티에 속성을 추가하려는 경우:

즉, xml 직렬화 후 객체 요소에 속성을 추가합니다.
이런 것을 원한다면

<Rats count=“2″>
  <Rat>little rat</Rat>
  <Rat>old rat</Rat>
</Rats>

C# 코드는

[XmlType(“Rats”)]
    public class Rats
    {
        [XmlAttribute(“count”)]
        public int Count { get; set; }
        [XmlElement(“Rat”)] // now the array element will be as same as the object element Rats. 
        public string[] Rat { get; set; }
    }


기존의 xml 배열 직렬화는 배열 자체에 대한 추가 요소를 가져옵니다.

[XmlType(“Rats”)]
    public class Rats
    {
        [XmlAttribute(“count”)]
        public int Count { get; set; }
        [XmlArray(“Rats”)]
        [XmlArrayItem(“Rat”)]
        public string[] Rat { get; set; }
    }
<Rats count=“2″>
  <Rats>
    <Rat>little rat</Rat>
    <Rat>old rat</Rat>
  </Rats>
</Rats>

위는 C# xml 역직렬화 코드 예제에 대한 자세한 소개입니다. 기타 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.