1

XML の逆シリアル化を処理する方法を見つけようとしています。組み込みのシリアル化の使用方法を理解しており、以前に使用したことがあります。

今回の問題は、XML の 1 つのセクションがメッセージのリストまたは単一のメッセージである可能性があることです。

編集: 以下の 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 に答える