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)를 참고해주세요!