时间:2016-02-16 01:55 来源: 我爱IT技术网 作者:佚名
欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【asp.net Linq to Xml学习笔记】,下面是详细的讲解!
asp.net Linq to 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;
}
关于asp.net Linq to Xml学习笔记的用户互动如下:
相关问题:
答: >>详细
相关问题:
答: >>详细
相关问题:
答: >>详细
- 【asp】asp.net url重写浅谈-net-url重写
- 【DataSet】DataSet、DataTable、DataRow区别详解
- 【asp】asp.net 动态添加多个用户控件-net-动态添
- 【ASP】ASP.NET中内嵌页面代码的一个问题-NET-内
- 【As】Asp.net中的页面乱码的问题-sp--pn-ne-et
- 【增加记录】asp.net中获取新增加记录的ID Access
- 【创建】ASP.NET Web API教程 创建域模型的方法详
- 【Asp】Asp.net 页面调用javascript变量的值-net-
- 【ASP】ASP.NET 5升级后如何删除旧版本的DNX-NET5
- 【404页面】ASP.NET设置404页面返回302HTTP状态码
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
