我试图找出如何处理XML的反序列化。我确实理解如何使用内置的序列化并且之前已经这样做了。
这次我的问题是XML上的一个部分可能是消息列表或单个消息。
编辑:下面的XML片段是来自格式良好的XML文档的片段。收到后,XML将包含消息列表或单个消息。为了清晰和简洁,省略了包含XML。
XML片段看起来像这样......
<messageList>
<message>message1</message>
<message>message2</message>
</messageList>
或者像这样...
<message>singleMessage</message>
是否可以使用内置的.Net反序列化来处理这个问题,还是需要手动编写代码呢?
答案 0 :(得分: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>