激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP.NET教程 - asp.net Linq to Xml學習筆記

asp.net Linq to Xml學習筆記

2019-07-22 11:11ASP.NET之家 ASP.NET教程

之前都沒有學習過關于XML文件的操作,由于最近開發的項目需要用到,開始時學習了原始的XML文件操作方法,看了半天,也看的頭暈眼花,沒學習到真正的用法,后來在同事的推薦下學習了Linq to Xml

加上之前學習過Linq to Entity,因此學習起來也比較隨心應手。 
以下是項目中某個底層的代碼,記下做個備忘,如果能給新手學習Linq to Xml帶來幫助,那就再好不過了 
XML文件的格式: 

復制代碼代碼如下:


<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
<OPsystemConfig> 
<MemberCenter> 
<DomainName>DomainName</DomainName> 
<ProtocolName>ProtocolName</ProtocolName> 
<APIKey>APIKey</APIKey> 
<AESKey>AESKey</AESKey> 
<AESVI>AESVI</AESVI> 
</MemberCenter> 
<ChildSystems> 
<ChildSystem> 
<Name>Content</Name> 
<ControllerName>ContentManager</ControllerName> 
</ChildSystem> 
<ChildSystem> 
<Name>Image</Name> 
<ControllerName>ImageManager</ControllerName> 
</ChildSystem> 
<ChildSystem> 
<Name>Comment</Name> 
<ControllerName>CommentManager</ControllerName> 
</ChildSystem> 
<ChildSystem> 
<Name>Vote</Name> 
<ControllerName>VoteManager</ControllerName> 
</ChildSystem> 
</ChildSystems> 
</OPsystemConfig> 
</configuration> 


XML增,刪,改,查 

復制代碼代碼如下:


private string docName = string.Empty;//配置文件路徑 
#region ISystemModuleConfigService 成員 
/// <summary> 
/// 添加 
/// </summary> 
/// <param name="name"></param> 
/// <param name="controllerName"></param> 
/// <returns></returns> 
public bool Add(string name, string controllerName) 

XDocument xDoc = Load(docName); 
if (IsExist(name)) 

xDoc.Element("configuration").Element("OPsystemConfig").Element("ChildSystems").Add(new XElement("ChildSystem", 
new XElement("Name",name), 
new XElement("ControllerName",controllerName))); 
xDoc.Save(docName); 
return true; 

return false; 

/// <summary> 
/// 修改 
/// </summary> 
/// <param name="name"></param> 
/// <param name="controllerName"></param> 
/// <returns></returns> 
public bool Modify(string name, string controllerName) 

XDocument xDoc = Load(docName); 
if (!IsExist(name)) 

var query = from Opsystem in xDoc.Descendants("ChildSystem") 
where Opsystem.Element("Name").Value == name 
select Opsystem; 
foreach (XElement item in query) 

item.Element("ControllerName").Value = controllerName; 

xDoc.Save(docName); 
return true; 

return false; 

/// <summary> 
/// 刪除 
/// </summary> 
/// <param name="name"></param> 
/// <returns></returns> 
public bool Remove(string name) 

XDocument xDoc = Load(docName); 
if (!IsExist(name)) 

var query = from Opsystem in xDoc.Descendants("ChildSystem") 
where Opsystem.Element("Name").Value == name 
select Opsystem; 
query.Remove(); 
xDoc.Save(docName); 
return true; 

return false; 

/// <summary> 
/// 獲得列表 
/// </summary> 
/// <returns></returns> 
public IList<SystemModuleConfig> GetList() 

XDocument xDoc = Load(docName); 
List<SystemModuleConfig> list = new List<SystemModuleConfig>(); 
var query = from Opsystem in xDoc.Descendants("ChildSystem") 
select new 

Key = Opsystem.Element("Name").Value, 
Value = Opsystem.Element("ControllerName").Value 
}; 
foreach (var item in query) 

SystemModuleConfig config = new SystemModuleConfig(); 
config.Name = item.Key; 
config.ControllerName = item.Value; 
list.Add(config); 

return list; 

/// <summary> 
/// 獲得一條ChildSystem數據 
/// </summary> 
/// <param name="name"></param> 
/// <returns></returns> 
public SystemModuleConfig GetModel(string name) 

XDocument xDoc = Load(docName); 
SystemModuleConfig model = new SystemModuleConfig(); 
var query = from Opsystem in xDoc.Descendants("ChildSystem") 
where Opsystem.Element("Name").Value == name 
select new 

Name = Opsystem.Element("Name").Value, 
ControllerName = Opsystem.Element("ControllerName").Value 
}; 
foreach (var item in query) 

model.Name = item.Name; 
model.ControllerName = item.ControllerName; 

return model; 

/// <summary> 
/// 加載Config文件 
/// </summary> 
/// <param name="path"></param> 
/// <returns></returns> 
public XDocument Load(string path) 

docName = path; 
FileInfo file = new FileInfo(docName); 
file.IsReadOnly = false; 
return XDocument.Load(docName); 

/// <summary> 
/// 驗證Name=name的ChildSystem數據是否存在 
/// </summary> 
/// <param name="name"></param> 
/// <returns></returns> 
private bool IsExist(string name) 

XDocument xDoc = Load(docName); 
var query = from Opsystem in xDoc.Descendants("ChildSystem") 
where Opsystem.Element("Name").Value == name 
select new 

Name = Opsystem.Element("Name").Value 
}; 
if (query.Count() == 0) 

return true; 

return false; 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美成人一级视频 | 黄色视屏免费在线观看 | 免费在线性爱视频 | 精品国产一区二区三区四 | 久久精品久 | 午夜久久视频 | 亚洲情av| xnxx 日本免费 | 91福利社在线 | 国产精品久久久久久久久久久久久久久久 | 久国产 | 精国品产一区二区三区有限公司 | 色综合精品 | av成人免费看 | 久久99精品久久久久久秒播蜜臀 | 中文字幕在线观看亚洲 | 免费黄色在线观看网站 | 国产99精品在线 | 久久久久一本一区二区青青蜜月 | 久夜草| 伊人成人免费视频 | 亚州欧美在线 | 欧美一级毛片美99毛片 | 欧洲成人综合网 | 亚洲日本欧美 | 久久久久久久91 | 成人免费电影在线观看 | 国产精品一品二区三区四区18 | 免费的毛片| 色综合视频 | 精品国产91久久久久久浪潮蜜月 | av电影免费播放 | 海外中文字幕在线观看 | 久久久久久久高清 | 成人黄色在线观看 | 亚洲人成综合第一网 | 久久精品免费国产 | 九九热在线视频观看 | 黄网站色成年大片免费高 | 久色视频| 成人午夜看片 |