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 }