[英]C# XML RPC Make Sub Class
我試圖將XML RPC強類型化為C#類,但是我的模型不起作用。 怎么了? 這是我的模型:
[XmlRpcMissingMapping(MappingAction.Ignore)]
public class aw_gift_cards_used
{
public aw_gift_card_used aw_gift_card_used { get; set; }
}
[XmlRpcMissingMapping(MappingAction.Ignore)]
public class aw_gift_card_used
{
public GiftCards GiftCards { get; set; }
}
[XmlRpcMissingMapping(MappingAction.Ignore)]
public class GiftCards
{
public string core_abstract { get; set; }
}
[XmlRpcMissingMapping(MappingAction.Ignore)]
public class GiftCard
{
public string base_giftcard_amount { get; set; }
}
這是我的數據:
<member>
<name>aw_gift_cards_used</name>
<value>
<struct>
<member>
<name>27</name>
<value>
<array>
<data>
<value>
<string>core_abstract</string>
</value>
<value>
<string>object</string>
</value>
<value>
<string>aw_giftcard2/giftcard_quote</string>
</value>
<value>
<nil/>
</value>
<value>
<string>aw_giftcard2/giftcard_quote_collection</string>
</value>
<value>
<boolean>0</boolean>
</value>
<value>
<boolean>1</boolean>
</value>
<value>
<nil/>
</value>
<value>
<struct>
<member>
<name>link_id</name>
<value>
<string>27</string>
</value>
</member>
<member>
<name>giftcard_id</name>
<value>
<string>40</string>
</value>
</member>
<member>
<name>quote_id</name>
<value>
<string>21895</string>
</value>
</member>
<member>
<name>base_giftcard_amount</name>
<value>
<string>200.00</string>
</value>
</member>
<member>
<name>giftcard_amount</name>
<value>
<string>200.00</string>
</value>
</member>
<member>
<name>code</name>
<value>
<string>EWU892758CKQ</string>
</value>
</member>
<member>
<name>balance</name>
<value>
<string>0.00</string>
</value>
</member>
</struct>
</value>
<value>
<boolean>1</boolean>
</value>
<value>
<struct>
<member>
<name>link_id</name>
<value>
<string>27</string>
</value>
</member>
<member>
<name>giftcard_id</name>
<value>
<string>40</string>
</value>
</member>
<member>
<name>quote_id</name>
<value>
<string>21895</string>
</value>
</member>
<member>
<name>base_giftcard_amount</name>
<value>
<string>200.00</string>
</value>
</member>
<member>
<name>giftcard_amount</name>
<value>
<string>200.00</string>
</value>
</member>
<member>
<name>code</name>
<value>
<string>EWU892758CKQ</string>
</value>
</member>
<member>
<name>balance</name>
<value>
<string>0.00</string>
</value>
</member>
</struct>
</value>
<value>
<string>link_id</string>
</value>
<value>
<boolean>0</boolean>
</value>
<value>
<array>
<data/>
</array>
</value>
<value>
<array>
<data/>
</array>
</value>
</data>
</array>
</value>
</member>
</struct>
</value>
</member>
我能夠將XML轉換為XmlRpcStruct並通過它枚舉。 這是我的代碼:
public List<GiftCard> MapGiftCards(OrderInfo info) { List<GiftCard> cards = new List<GiftCard>(); if (info.aw_gift_cards_used == null) return cards; XmlRpcStruct data = info.aw_gift_cards_used as XmlRpcStruct; foreach (string key in data.Keys) { object[] dataToParse = data[key] as object[]; XmlRpcStruct st = dataToParse.ElementAt(8) as XmlRpcStruct; List<object> values = st.Values as List<Object>; GiftCard card = new GiftCard(); card.link_id = values[0].ToString(); card.giftcard_id = values[1].ToString(); card.quote_id = values[2].ToString(); card.base_giftcard_amount = ObjectConverter.DecimalConverter(values[3]); card.giftcard_amount = ObjectConverter.DecimalConverter(values[4]); card.code = values[5].ToString(); card.balance = ObjectConverter.DecimalConverter(values[6]); cards.Add(card); } return cards; }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.