1

我试图找出如何处理 XML 的反序列化。我确实了解如何使用内置的序列化并且之前已经这样做过。

这次我的问题是 XML 上的一个部分可能是消息列表或单个消息。

编辑:下面的 XML 片段是来自格式良好的 XML 文档的片段。收到时,XML 将包含消息列表或单个消息。为清晰和简洁起见,省略了包含的 XML。

XML 片段看起来像这样......

<messageList>
    <message>message1</message>
    <message>message2</message>
</messageList>

或者像这样...

<message>singleMessage</message>

是否可以使用内置的 .Net 反序列化来处理这个问题,还是我需要手动编写代码?

4

1 回答 1

0

尝试这个

[XmlRoot("MessageRoot", Namespace = "", IsNullable = false)]
public class MessageRoot
{

    [XmlElement(IsNullable = true, ElementName = "message")]
    public string Message { get; set; }

    [XmlArray("messageList")]
    [XmlArrayItem("message")]
    public string[] Messages { get; set; }
}



   <MessageRoot>   
     <message> message </message>  
     <messageList>
       <message>message1</message>
       <message>message2</message>   
      </messageList>  
   </MessageRoot> 
于 2012-12-04T18:36:43.283 回答