0
<WebxApi> 
<Search>
  <SessionId>49B9BB6E-D2BD-427E-BB38-C3BD37B216E1</SessionId> 
   </Search>
 <Search>
  <SessionId>49B9BB6E-D2BD-427E-BB38-C3BD37B216E1</SessionId> 
   </Search>
 <Search>
  <SessionId>651CE157-1ED7-4644-A6A6-93CE1FEA522D</SessionId> 
   </Search>
</WebxApi>

検索の入力リクエストにこのxmlがあり、次のコードを使用して逆シリアル化しようとしています。

 var serializer = new XmlSerializer(typeof(WebxApi));
                            var sReader = new StringReader(sw.ToString());
                           var request = serializer.Deserialize(XmlReader.Create(sReader)) as WebxApi;


[Serializable]
    public class WebxApi
    {

 private List<SearchRequest> search;
 public WebxApi()
        {
            this.Search= new List<SearchRequest>();
        }
             [System.Xml.Serialization.XmlArrayAttribute()]
        public List<SearchRequest> Search
        {
            get
            {
                return search ;
            }
            set
            {
                search = value;
            }
        }
}

 [Serializable]
    public partial class SearchRequest
    {

        public string SessionId { get; set; } 

    }

すべてのプロセスが正常に完了しましたが、検索のリストを取得しようとすると count= 0 が表示されます

誰が私が間違っているのか教えてもらえますか

ありがとう

4

1 に答える 1

0

次のコードを使用して、検索用のこの xml 入力要求を修正できました。

[Serializable]
 public class WebxApi{
 private PaymentSearchRequest[] paymentSearchField;

        [DataMember]
        [System.Xml.Serialization.XmlElementAttribute("Search", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public PaymentSearchRequest[] Search
        {
            get
            {
                return this.paymentSearchField;
            }
            set
            {
                this.paymentSearchField = value;
            }
        }
    }


    [System.SerializableAttribute()]
    public partial class PaymentSearchRequest
    {

        private string sessionIdField;

        [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public string SessionId
        {
            get
            {
                return this.sessionIdField;
            }
            set
            {
                this.sessionIdField = value;
            }
        }

    }
于 2013-11-22T12:34:46.013 に答える