• C#解析XML为List集合


    string strPayPenalty = @" ??xml version=""1.0"" encoding=""GBK""?>
    < MAPS >< PRIVATE >< SUCFLAG > 0 </ SUCFLAG >< RESULT > 查询成功 </ RESULT ></ PRIVATE >< APPROOT >< PRIVATE >< List >< debtQuery >< currentDebt > 39290 </ currentDebt >< item1 > 39290 </ item1 >< item2 > *际祥 </ item2 >< item3 > 1 </ item3 >< item4 > 510132196802014214 </ item4 >< item5 > 5101320053 </ item5 >< item6 > 5101320053 </ item6 >< item7 > 19290 </ item7 >< item8 > 20000 </ item8 >< item9 ></ item9 >< item10 ></ item10 ></ debtQuery ></ List ></ PRIVATE ></ APPROOT ></ MAPS > ";
    string[] strXML = strPayPenalty.Split(new string[] { "xml" }, StringSplitOptions.RemoveEmptyEntries);
    strPayPenalty = "<?xml" + strXML[1];
    strPayPenalty = strPayPenalty.Replace(" ??", "<?").Replace(" ", "").Replace(" ", "").Replace(@"<?xmlversion=""1.0""encoding=""GBK""?>", @"<?xml version=""1.0"" encoding=""GBK""?>").Trim();
    PayPenaltyAnalytical1(strPayPenalty);

    static List<PayPenaltyInquiryModel> itemsPRIVATE = null;
    static List<PayPenaltyDetailsModel> debtQuery = null;
    public static void PayPenaltyAnalytical1(string strPayPenalty)
    {
    string xmlString = strPayPenalty;
    XDocument doc = XDocument.Parse(xmlString);
    if (doc.Root != null)
    {
    itemsPRIVATE = (from r in doc.Root.Elements("PRIVATE")
    select new PayPenaltyInquiryModel
    {
    SUCFLAG = (string)r.Element("SUCFLAG"),
    RESULT = (string)r.Element("RESULT"),

    }).ToList();
    debtQuery = (from r in doc.Root.Elements("APPROOT").Elements("PRIVATE").Elements("List").Elements("debtQuery")
    select new PayPenaltyDetailsModel
    {
    item1 = (string)r.Element("item1"),
    item2 = (string)r.Element("item2"),
    item3 = (string)r.Element("item3"),
    item4 = (string)r.Element("item4"),
    item5 = (string)r.Element("item5"),
    item6 = (string)r.Element("item6"),
    item7 = (string)r.Element("item7"),
    item8 = (string)r.Element("item8"),
    item9 = (string)r.Element("item9"),
    item10 = (string)r.Element("item10"),
    }).ToList();
    //itemsPRIVATE = (from r in doc.Root.Elements("PRIVATE")
    // select new PayPenaltyInquiryModel
    // {
    // SUCFLAG = (string)r.Element("SUCFLAG"),
    // RESULT = (string)r.Element("RESULT"),
    // debtQuery = debtQuery,
    // }).ToList();

    //foreach (var item in itemsPRIVATE)
    //{
    // item.debtQuery = debtQuery;
    //}
    itemsPRIVATE.First().debtQuery = debtQuery;
    }
    }

    /// <summary>
    /// 现场缴罚查询数据返回
    /// </summary>
    public class PayPenaltyInquiryModel
    {
    /// <summary>
    /// 返回码
    /// </summary>
    public string SUCFLAG { get; set; }
    /// <summary>
    /// 数据长度
    /// </summary>
    public string RESULT { get; set; }

    public List<PayPenaltyDetailsModel> debtQuery { get; set; }
    }
    /// <summary>
    /// 违章数据查询明细
    /// </summary>
    public class PayPenaltyDetailsModel
    {
    /// <summary>
    ///
    /// </summary>
    public string item1 { get; set; }
    /// <summary>
    ///
    /// </summary>
    public string item2 { get; set; }
    /// <summary>
    ///
    /// </summary>
    public string item3 { get; set; }
    /// <summary>
    ///
    /// </summary>
    public string item4 { get; set; }
    /// <summary>
    ///
    /// </summary>
    public string item5 { get; set; }
    /// <summary>
    ///
    /// </summary>
    public string item6 { get; set; }
    /// <summary>
    ///
    /// </summary>
    public string item7 { get; set; }
    /// <summary>
    ///
    /// </summary>
    public string item8 { get; set; }
    /// <summary>
    ///
    /// </summary>
    public string item9 { get; set; }
    /// <summary>
    ///
    /// </summary>
    public string item10 { get; set; }
    }

  • 相关阅读:
    从读者角度来看Blog
    NDuiker项目第3天
    IssueVision的List控件源码分析
    测试一个网站的想法
    IssueVision的PaneCaption控件源码分析
    技术研究的时候不要忘了“集成创新”
    人脸识别活体检测之张张嘴和眨眨眼
    jsp>Session 小强斋
    jsp>Request对象 小强斋
    jsp>四种作用域 小强斋
  • 原文地址:https://www.cnblogs.com/zhaiganggang/p/13807161.html
Copyright © 2020-2023  润新知