写得比较啰嗦,自己记载备用
  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. The Same Game": A Simple Game from Start to Finish3

    视图: 画出你的游戏界面 前面,我们的文档对象中已经初始化了游戏板对象,接下来我们需要显示这些信息给用户了. 第一步是添加代码,来重新设置我们的窗口尺寸.缺省的窗口尺寸不是我们想要的,我们将重写OnI ...

  2. hadoop作业调优参数整理及原理【转】

    1 Map side tuning参数 1.1 MapTask运行内部原理 当map task开始运算,并产生中间数据时,其产生的中间结果并非直接就简单的写入磁盘.这中间的过程比较复杂,并且利用到了内 ...

  3. jni cocos2d-x移植到android:helloworld

    前面搭建好了android开发环境 jni开发环境,那么就来用一用目前火热的cocos2d的游戏引擎吧 所需资料: cocos2d :下载地址  http://www.oschina.net/p/co ...

  4. ios 中介者模式

    中介设计模式在ios中普片应用于视图迁移 1,从xib中生成object对象,中介类为n个不同对象 @property(nonatomic,retain)IBOutlet NSObject *ob; ...

  5. Mina学习之IoHandler

    IoHandler处理事件在Filter Chain 之后进行.IoHandler包含处理以下几个事件的功能: 1. sessionCreated event: session创建事件,对于Tcp而言 ...

  6. PHP判断变量是否为长整形的方法

    PHP判断变量是否为长整形的方法,可用于判断QQ号等,避免了int溢出的问题 <?php /** * 判断变量是否为长整数(int与整数float) * @param mixed $var * ...

  7. [C#] c# 验证手机号码 最新的17手机号

    /// <summary> /// 校验手机号码是否符合标准. /// </summary> /// <param name="mobile"> ...

  8. PPT内嵌视频(指发布时只需要ppt一个文件即可)

    做实验时用手机拍了视频,想把视频嵌入到PPT中.只是单纯的嵌入很容易,但是我想将PPT推送给其他人时,不需要再传视频文件.搜了一下做法,可以通过flash视频格式实现.电脑为thinkpad笔记本,w ...

  9. mybatis02 架构

    SqlMapConfig.xml(mybatis全局配置文件加载mybatis环境(数据源,事物,mapper.xml(配置sql语句),),类似于hibernate的全局配置文件,用于加载hiber ...

  10. 字符集详解 ------------------------ UNICODE +UTF8

    http://my.oschina.net/goldenshaw/blog?catalog=3294521 http://my.oschina.net/goldenshaw/blog?catalog= ...