您的位置:首页 > 其它

读写xml文件

2015-06-01 19:47 225 查看
#region 读写xml文件
/// <summary>
/// 写入XML文件。
/// </summary>
/// <param name="value">设定值</param>
/// <param name="fileName">文件全名</param>
/// <param name="nodeName">节点名称</param>
/// <param name="attrbute">节点属性</param>
public static void SaveConfig(string fileName, string nodeName, string attrbute,string value)
{
XmlDocument doc = new XmlDocument();
//获得配置文件的全路径
string strFileName = AppDomain.CurrentDomain.BaseDirectory + fileName;

doc.Load(strFileName);
//找出名称为“appSettings”的所有元素
var nodes = doc.GetElementsByTagName(nodeName)[0];

for (int i = 0; i < nodes.ChildNodes.Count; i++)
{
//获得将当前元素的key属性
var xmlAttributeCollection = nodes.ChildNodes[i].Attributes;
if (xmlAttributeCollection != null)
{
XmlAttribute att = xmlAttributeCollection["key"];
//根据元素的第一个属性来判断当前的元素是不是目标元素
if (att.Value == attrbute)
{
//对目标元素中的第二个属性赋值
att = xmlAttributeCollection["value"];
att.Value = value;
break;
}
}
}

//保存上面的修改
doc.Save(strFileName);
}

/// <summary>
/// 读取xml文件。
/// </summary>
/// <param name="fileName">文件全面(包括全部路径)</param>
/// <param name="nodeName">节点名称</param>
/// <param name="attrbute">节点属性</param>
/// <returns></returns>
public static string ReadXmlNode(string fileName, string nodeName, string attrbute)
{
var xmlDoc = new XmlDocument();
var strFileName = AppDomain.CurrentDomain.BaseDirectory + fileName;
var connString = string.Empty;

try
{
xmlDoc.Load(strFileName);
var nodes = xmlDoc.GetElementsByTagName(nodeName)[0];

for (int i = 0; i < nodes.ChildNodes.Count; i++)
{
//获得将当前元素的key属性
var xmlAttributeCollection = nodes.ChildNodes[i].Attributes;
if (xmlAttributeCollection != null)
{
XmlAttribute att = xmlAttributeCollection["key"];
//根据元素的第一个属性来判断当前的元素是不是目标元素
if (att.Value == attrbute)
{
//对目标元素中的第二个属性赋值
connString = xmlAttributeCollection["value"].Value ?? string.Empty;

break;
}
}
}

return connString;
}
catch (Exception e)
{
return e.Message;
}
}
#endregion
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: