.net使用dataset解析xml

 protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                ParseXml2Json(@"C:\Users\Administrator\Desktop\response.txt");
            }
        }
        public static string ParseXml2Json(string xmlpath)
        {
            try
            {
                StreamReader sreader = new StreamReader(xmlpath);
                string content = sreader.ReadToEnd();
                content = "<root>" + content.Substring(content.IndexOf("<LisResult>"));
                content =  content.Substring(0,content.LastIndexOf("</LisResult>")+12)+ "</root>";
                

                XmlDocument xmlDoc = new XmlDocument();
                xmlDoc.LoadXml(content);

                DataSet ds = new DataSet();
                ds.ReadXml(new XmlTextReader(new StringReader(xmlDoc.OuterXml.ToString().Trim())));
                DataTable dt = ds.Tables["LisResult"];

                List<VMModel> db_list = new List<VMModel>();
                foreach (DataRow item in dt.Rows)
                {
                    VMModel db_model = new VMModel();
                    db_model.ApplyNo = item.ItemArray[0] + "";
                    db_model.ExecTime = item.ItemArray[1] + "";
                    db_model.CureNo = item.ItemArray[2] + "";
                    db_model.PatName = item.ItemArray[3] + "";
                    db_model.ItemCode = item.ItemArray[4] + "";
                    db_model.ItemName = item.ItemArray[5] + "";
                    db_model.RESULT = item.ItemArray[6] + "";
                    db_model.ResultValue = item.ItemArray[7] + "";
                    db_model.UNIT = item.ItemArray[8] + "";
                    db_model.HIGHLOWFLAG = item.ItemArray[9] + "";
                    db_model.pubdatetime = item.ItemArray[10] + "";
                    db_list.Add(db_model);
                }
                string aaa = "";
            }
            catch (Exception ex)
            {

            }

            return "";

        }
        public class VMModel
        {
            public string ApplyNo { get; set; }
            public string ExecTime { get; set; }
            public string CureNo { get; set; }
            public string PatName { get; set; }
            public string ItemCode { get; set; }
            public string ItemName { get; set; }
            public string RESULT { get; set; }
            public string ResultValue { get; set; }
            public string REFERENCERANGE { get; set; }
            public string UNIT { get; set; }
            public string HIGHLOWFLAG { get; set; }
            public string pubdatetime { get; set; }

        }

如果报有太多根节点,那么,再追加一个根节点即可正常解析,具体原因敬请百度,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

纪寻川

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值