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 == "" ? "" : 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的更多相关文章
- linq xml读取
<?xml version="1.0" encoding="UTF-8" ?> <cache> <chatOld> < ...
- 七、Linq To XML:XElement、XDocument
一.概述 LINQ to XMLLINQ to XML 是一种启用了 LINQ 的内存 XML 编程接口,使用它,可以在 .NET Framework.NET Framework 编程语言中处理 XM ...
- c# linq的一些运用
最近在学习xml.linq 网上也找了一些资料都不大全面,因此在这写了一点东西和大家分享,由于本人知识有限,如有错误请指证 可扩展标记语言,标准通用标记语言的子集,一种用于标记电子文件使其具有结构性的 ...
- C#图解教程 第十九章 LINQ
LINQ 什么是LINQLINQ提供程序 匿名类型 方法语法和查询语法查询变量查询表达式的结构 from子句join子句什么是联结查询主体中的from-let-where片段 from子句let子句w ...
- LINQ 系列
C#图解教程 第十九章 LINQ LINQ 什么是LINQLINQ提供程序 匿名类型 方法语法和查询语法查询变量查询表达式的结构 from子句join子句什么是联结查询主体中的from…let…w ...
- 什么是LINQ
LINQ 什么是LINQLINQ提供程序 匿名类型 方法语法和查询语法查询变量查询表达式的结构 from子句join子句什么是联结查询主体中的from…let…where片段 from子句let子句w ...
- LINQ图解教程
LINQ 什么是LINQLINQ提供程序 匿名类型 方法语法和查询语法查询变量查询表达式的结构 from子句join子句什么是联结查询主体中的from…let…where片段 from子句let子句w ...
- VB.NET 定义多行文本字符的几种方式
vbCrLf 在 .NET 刚刚推出的时候,VB作为一款被微软用来"衬托"C#的语言,在许多细节设计上远不如C#方便. 比如在C#中写一个多行文本,就有各种方式: string s ...
- mono for android之文件系统与应用程序首选项(转)
Aside from persistent files, your application might need to store cache data in a file. To do that, ...
随机推荐
- HDU-3790 最短路径问题
最短路径问题 Time Limit : 2000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other) Total Submis ...
- 发送带有认证信息的HTTP请求并取回响应
问题 如何发送 一个带有网络认证证书的HTTP请求并返回相应的HTTP响应. 设计 创建一个WebRequest对象和一个NetWorkCredential对象.把NetWorkCredential对 ...
- HTML5 application cache
Application Cache API (一) 基本应用 http://www.cnblogs.com/blackbird/archive/2012/06/12/2546751.html Appl ...
- jQuery获取鼠标事件源(万能)
//任意位置 $(document).ready(function(){ $(document).click(function(){ $("#id_").hide(); }); } ...
- Windows2008安装IIS方法
1.右键点击 “计算机”,在弹出菜单中选择“管理”选项,在服务器管理器左侧界面 点击 “角色”选项,如下图: 2.点击“添加角色”按钮后,弹出如下界面 3.选择“角色”列表中的“Web服务器(IIS) ...
- rpm安装mysql 默认安装目录
MySQL安装完成后不象SQL Server默认安装在一个目录,它的数据库文件.配置文件和命令文件分别在不同的目录,了解这些目录非常重要,尤其对于Linux的初学者,因为Linux本身的目录结构就比较 ...
- [转] Tomcat 配置 SSL
PS: keystore有自己的访问密码,这个保护层次要低一些,然后keystore里面存有自己的私钥,所以用户要破解的话,既要有keystore,又要有keystore的密码,p12是客户端keys ...
- Android开发之隐藏Activity(活动)的标题
隐藏一个活动的标题(如您打算向用户显示状态更新时),可以使用requestWindowFeature()方法,传递Window.FEATURE_NO_TITLE常量来控制.实现如下: protecte ...
- 网站优化的经验和技巧--精简高效的C#
对大型网站,技术涉及面非常广,对硬件,软件,编程语言,Web Service,防火墙等等有很高要求. 面对大量用户,高并发请求,可以使用高性能服务器,高性能编程语言,高性能数据库,加大带宽等,这 ...
- 基于bootstrap面板的类别多选栏
1.html部分 <div class="panel panel-default"> <div class="panel-heading"&g ...