写得比较啰嗦,自己记载备用
  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 == "" ? "" : xElement1.Value;

 25                 var xElement2 = element.Element("Chicangliang");

 26                 if (xElement2 != null)

 27                     dataModel.Chicangliang = xElement2.Value == "" ? "" : xElement2.Value;

 28                 var xElement3 = element.Element("Mairujia");

 29                 if (xElement3 != null)

 30                     dataModel.Mairujia = xElement3.Value == "" ? "" : 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 == null) return model;

 45             model.Daima = daima;

 46             var chicangliang = "";

 47             var mairujia = "";

 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 == null) return 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 == null) return 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                 });

             if (selectItem == null) return false;

             var element1 = selectItem.Element("daima");

             if (element1 != null) element1.Value = model.Daima;

             var element2 = selectItem.Element("Chicangliang");

             if (element2 != null) element2.Value = model.Chicangliang;

             var element3 = selectItem.Element("Mairujia");

             if (element3 != null) element3.Value = model.Mairujia;

             _doc.Save(FilePath);

             return true;

         }

     }
 
 

Linq XML的更多相关文章

  1. linq xml读取

    <?xml version="1.0" encoding="UTF-8" ?> <cache> <chatOld> < ...

  2. 七、Linq To XML:XElement、XDocument

    一.概述 LINQ to XMLLINQ to XML 是一种启用了 LINQ 的内存 XML 编程接口,使用它,可以在 .NET Framework.NET Framework 编程语言中处理 XM ...

  3. c# linq的一些运用

    最近在学习xml.linq 网上也找了一些资料都不大全面,因此在这写了一点东西和大家分享,由于本人知识有限,如有错误请指证 可扩展标记语言,标准通用标记语言的子集,一种用于标记电子文件使其具有结构性的 ...

  4. C#图解教程 第十九章 LINQ

    LINQ 什么是LINQLINQ提供程序 匿名类型 方法语法和查询语法查询变量查询表达式的结构 from子句join子句什么是联结查询主体中的from-let-where片段 from子句let子句w ...

  5. LINQ 系列

    C#图解教程 第十九章 LINQ   LINQ 什么是LINQLINQ提供程序 匿名类型 方法语法和查询语法查询变量查询表达式的结构 from子句join子句什么是联结查询主体中的from…let…w ...

  6. 什么是LINQ

    LINQ 什么是LINQLINQ提供程序 匿名类型 方法语法和查询语法查询变量查询表达式的结构 from子句join子句什么是联结查询主体中的from…let…where片段 from子句let子句w ...

  7. LINQ图解教程

    LINQ 什么是LINQLINQ提供程序 匿名类型 方法语法和查询语法查询变量查询表达式的结构 from子句join子句什么是联结查询主体中的from…let…where片段 from子句let子句w ...

  8. VB.NET 定义多行文本字符的几种方式

    vbCrLf 在 .NET 刚刚推出的时候,VB作为一款被微软用来"衬托"C#的语言,在许多细节设计上远不如C#方便. 比如在C#中写一个多行文本,就有各种方式: string s ...

  9. mono for android之文件系统与应用程序首选项(转)

    Aside from persistent files, your application might need to store cache data in a file. To do that, ...

随机推荐

  1. HDU-2952 Counting Sheep (DFS)

    Counting Sheep Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Tota ...

  2. .NET混淆工具 (Dotfuscator Professional Edition)

      如果不想自己辛辛苦苦码出来的作品被人轻易的破解cpoy就使用这款工具试试吧.^_^   使用版本:4.9.7500.9484 ,破解版:http://pan.baidu.com/s/1dDH7lr ...

  3. java基础(十七)集合(四)

    这里有我之前上课总结的一些知识点以及代码大部分是老师讲的笔记 个人认为是非常好的,,也是比较经典的内容,真诚的希望这些对于那些想学习的人有所帮助! 由于代码是分模块的上传非常的不便.也比较多,讲的也是 ...

  4. Mvc.JQuery.Datatables

    1.NuGet安装Mvc.JQuery.Datatables.Mvc.JQuery.Datatables.Templates和JQuery.Datatables https://github.com/ ...

  5. C# 关键字 default

    在泛型类和泛型方法中产生的一个问题是,在预先未知以下情况时,如何将默认值分配给参数化类型 T: T 是引用类型还是值类型. 如果 T 为值类型,则它是数值还是结构 http://msdn.micros ...

  6. 2013 ACM区域赛长沙 A Alice’s Print Service HDU 4791

    题意:就是一个打印分段收费政策,印的越多,单张价格越低,输入需要印刷的数量,求最小印刷费用一个细节就是,比当前还小的状态可能是最后几个. #include<stdio.h> #includ ...

  7. HW4.18

    public class Solution { public static void main(String[] args) { System.out.println("Graph 1&qu ...

  8. 记录一次MVC3升级MVC4遇到的问题

    前些天,项目组将项目从mvc3升级至mvc4,完了之后,发现突然涌现出一大堆问题.主要是在前端,Razor引擎升级导致的. Razor是从mvc3开始引入的,用过mvc2的就会知道,Razor用起来确 ...

  9. 极客技术专题【007期】:jQuery初学者入门 - jQuery Event

    日期:2013-8-19  来源:GBin1.com 技术专题介绍 专题:jQuery初学者入门[第三讲:jQuery Event] 分享人:极客标签技术编辑 -Lana (请站内关注分享人) 授课时 ...

  10. Clojure学习资料

    以下大部分收藏自博客:http://blog.csdn.net/ithomer/article/details/17225813 官方文档: http://clojure.org/documentat ...