XML读取的小例子

 1   public void CalculateLeave(string userAcount, string xml)   //传过来的是xml内容
 2         {
 3             try
 4             {
 5                 var xmlDoc = new System.Xml.XmlDataDocument();   //生成一个xml操作对象
 6                 xmlDoc.LoadXml(xml);    //加载xml内容文本      注意Load加载的是物理路径
 7                 var xmlRoot = xmlDoc.DocumentElement;        //使用 XmlDocument读取的方法,还有LINQ和XmlTextReader
 8                 if (xmlRoot == null) return;
 9                 var node = xmlRoot.SelectNodes("Item");    //找到所有的Item节点
10                 if (node == null) return;
11                 decimal sum = 0;
12                 foreach (XmlNode xn in node)
13                 {
14                     var singleNode = xn.SelectSingleNode("ExpenseType");  //SelectNodes和SelectSingleNode就是所有和单个的区别
15                     if (singleNode == null || singleNode.InnerText != "年休假") continue;
16                     var selectSingleNode = xn.SelectSingleNode("Days");
17                     if (selectSingleNode == null) continue;
18                     var day = selectSingleNode.InnerText;
19                     sum += Convert.ToDecimal(day);
20                 }
21                 var user = BLL.MasterDataSservice.UserConfigureService.GetInstance().Get(userAcount);
22 
23                 user.Annualleave = Convert.ToDecimal(user.Annualleave) - sum;
24                 BLL.MasterDataSservice.UserConfigureService.GetInstance().Update(user);
25             }
26             catch (Exception)
27             {
28 
29 
30             }
31         }

 

posted @ 2016-09-21 17:59  每天来逛逛  阅读(285)  评论(0编辑  收藏  举报