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, ...
随机推荐
- python urllib2模块携带cookie
今天干活遇到一个事.有一些网站的一些操作非得要求你登陆才能做,比如新浪微博,你要随便看看吧,不行,非得让你登陆了才能看,再比如一些用户操作,像更改自己的资料啦,个人的隐私啦巴拉巴拉的.想抓取这样的ur ...
- (原创滴~)STL源码剖析读书总结1——GP和内存管理
读完侯捷先生的<STL源码剖析>,感觉真如他本人所说的"庖丁解牛,恢恢乎游刃有余",STL底层的实现一览无余,给人一种自己的C++水平又提升了一个level的幻觉,呵呵 ...
- linux下用Apache一个IP多个网站多域名配置方法
如有两个域名,分别是desk.xker.com和tool.xker.com,需把这两个域名都绑定到IP是219.13.34.32的服务器上 1.首先需在域名供应商管理页面指定域名和IP的对应关系 2. ...
- Bzoj 2141: 排队 分块,逆序对,树状数组
2141: 排队 Time Limit: 4 Sec Memory Limit: 259 MBSubmit: 1310 Solved: 517[Submit][Status][Discuss] D ...
- MongoDB:The Definitive Guide CHAPTER 1 Introduction
MongoDB is a powerful, flexible, and scalable data store. It combines the ability to scale out with ...
- [置顶] 在Ubuntu下实现一个简单的Web服务器
要求: 实现一个简单的Web服务器,当服务器启动时要读取配置文件的路径.如果浏览器请求的文件是可执行的则称为CGI程序,服务器并不是将这个文件发给浏览器,而是在服务器端执行这个程序,将它的标准输出发给 ...
- 制作一个html中闪动的title 来提示消息
var flashTitlePlayer = { start: function (msg) { this.title = document.title; if (!this.action) { tr ...
- MSSQLSERVER数据库- 打开表出现目录名无效
打开SQLSERVER数据库,出现目录名无效,如下图: 解决方法到 临时目录:C:\Documents and Settings\Administrator\Local Settings\Temp 手 ...
- WebSocket与Tcp连接
最近做了一个项目,客户端为WebSocket页面,服务器端为Tcp控制台 .将代码贴出来,供需要的参考. 1.服务器端代码 其中服务器的Session使用了第三方插件,为TCP连接. 2.客户端代码如 ...
- Maven tomcat插件配置和使用
pom.xml组态 <build> <plugins> <plugin> <groupId>org ...