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, ...
随机推荐
- The Same Game": A Simple Game from Start to Finish3
视图: 画出你的游戏界面 前面,我们的文档对象中已经初始化了游戏板对象,接下来我们需要显示这些信息给用户了. 第一步是添加代码,来重新设置我们的窗口尺寸.缺省的窗口尺寸不是我们想要的,我们将重写OnI ...
- hadoop作业调优参数整理及原理【转】
1 Map side tuning参数 1.1 MapTask运行内部原理 当map task开始运算,并产生中间数据时,其产生的中间结果并非直接就简单的写入磁盘.这中间的过程比较复杂,并且利用到了内 ...
- jni cocos2d-x移植到android:helloworld
前面搭建好了android开发环境 jni开发环境,那么就来用一用目前火热的cocos2d的游戏引擎吧 所需资料: cocos2d :下载地址 http://www.oschina.net/p/co ...
- ios 中介者模式
中介设计模式在ios中普片应用于视图迁移 1,从xib中生成object对象,中介类为n个不同对象 @property(nonatomic,retain)IBOutlet NSObject *ob; ...
- Mina学习之IoHandler
IoHandler处理事件在Filter Chain 之后进行.IoHandler包含处理以下几个事件的功能: 1. sessionCreated event: session创建事件,对于Tcp而言 ...
- PHP判断变量是否为长整形的方法
PHP判断变量是否为长整形的方法,可用于判断QQ号等,避免了int溢出的问题 <?php /** * 判断变量是否为长整数(int与整数float) * @param mixed $var * ...
- [C#] c# 验证手机号码 最新的17手机号
/// <summary> /// 校验手机号码是否符合标准. /// </summary> /// <param name="mobile"> ...
- PPT内嵌视频(指发布时只需要ppt一个文件即可)
做实验时用手机拍了视频,想把视频嵌入到PPT中.只是单纯的嵌入很容易,但是我想将PPT推送给其他人时,不需要再传视频文件.搜了一下做法,可以通过flash视频格式实现.电脑为thinkpad笔记本,w ...
- mybatis02 架构
SqlMapConfig.xml(mybatis全局配置文件加载mybatis环境(数据源,事物,mapper.xml(配置sql语句),),类似于hibernate的全局配置文件,用于加载hiber ...
- 字符集详解 ------------------------ UNICODE +UTF8
http://my.oschina.net/goldenshaw/blog?catalog=3294521 http://my.oschina.net/goldenshaw/blog?catalog= ...