Linq XML

写得比较啰嗦,自己记载备用
  1 public class XmlFunction
  2     {
  3         private static XDocument _doc = new XDocument();
  4         public static string FilePath = "mydata.xml";
  5         public XmlFunction()
  6         {
  7             _doc = XDocument.Load(FilePath);
  8         }
  9         public XmlFunction(string filepath)
 10             : this()
 11         {
 12             FilePath = filepath;
 13         }
 14 
 15         public static List<DataModel> ReadAll()
 16         {
 17             var list = new List<DataModel>();
 18             var xmllist = _doc.Descendants("datas").Elements("Jijin");
 19             foreach (var element in xmllist)
 20             {
 21                 var dataModel = new DataModel();
 22                 var xElement1 = element.Element("daima");
 23                 if (xElement1 != null)
 24                     dataModel.Daima = xElement1.Value == "" ? "0" : xElement1.Value;
 25                 var xElement2 = element.Element("Chicangliang");
 26                 if (xElement2 != null)
 27                     dataModel.Chicangliang = xElement2.Value == "" ? "0" : xElement2.Value;
 28                 var xElement3 = element.Element("Mairujia");
 29                 if (xElement3 != null)
 30                     dataModel.Mairujia = xElement3.Value == "" ? "0" : xElement3.Value;
 31                 list.Add(dataModel);
 32             }
 33             return list;
 34         }
 35 
 36         public DataModel Readone(string daima)
 37         {
 38             var selectItem = _doc.Descendants("Jijin").FirstOrDefault(p =>
 39             {
 40                 var element = p.Element("daima");
 41                 return element != null && element.Value == daima;
 42             });
 43             var model = new DataModel();
 44             if (selectItem == nullreturn model;
 45             model.Daima = daima;
 46             var chicangliang = "0";
 47             var mairujia = "0";
 48             var sichicangliang = selectItem.Element("Chicangliang");
 49             var simairujia = selectItem.Element("Mairujia");
 50             if (sichicangliang != null)
 51             {
 52                 if (!string.IsNullOrEmpty(sichicangliang.Value))
 53                     chicangliang = sichicangliang.Value;
 54             }
 55             if (simairujia != null)
 56             {
 57                 if (!string.IsNullOrEmpty(simairujia.Value))
 58                     mairujia = simairujia.Value;
 59             }
 60             model.Chicangliang = chicangliang;
 61             model.Mairujia = mairujia;
 62             return model;
 63         }
 64 
 65         public static bool Insert(DataModel model)
 66         {
 67             var db = new XElement("Jijin",
 68                  new XElement("daima", model.Daima),
 69                    new XElement("Chicangliang", model.Chicangliang),
 70                    new XElement("Mairujia", model.Mairujia)
 71                    );
 72             var element = _doc.Element("datas");
 73             if (element == nullreturn false;
 74             element.Add(db);
 75             _doc.Save(FilePath);
 76             return true;
 77         }
 78 
 79         public static bool Delete(string path, string node, string daima)
 80         {
 81             var selectItem = _doc.Descendants("Jijin").FirstOrDefault(p =>
 82             {
 83                 var element = p.Element("daima");
 84                 return element != null && element.Value == daima;
 85             });
 86             if (selectItem == nullreturn false;
 87             selectItem.Remove();
 88             _doc.Save(FilePath);
 89             return true;
 90         }
 91 
 92         public static bool Modify(DataModel model)
 93         {
 94             var selectItem = _doc.Descendants("datas").Elements("Jijin")
 95                 .FirstOrDefault(p =>
 96                 {
 97                     var element = p.Element("daima");
 98                     return element != null && element.Value == model.Daima;
 99                 });
100             if (selectItem == nullreturn false;
101             var element1 = selectItem.Element("daima");
102             if (element1 != null) element1.Value = model.Daima;
103             var element2 = selectItem.Element("Chicangliang");
104             if (element2 != null) element2.Value = model.Chicangliang;
105             var element3 = selectItem.Element("Mairujia");
106             if (element3 != null) element3.Value = model.Mairujia;
107             _doc.Save(FilePath);
108             return true;
109         }
110     }

 

 

posted @ 2015-03-27 16:45  hot's  阅读(287)  评论(3编辑  收藏  举报