C#使用LINQ操作XML配置文件读取写入数据配置文件config.xml,xml文件如下:
1
view plaincopy to clipboardprint?
2 <? xml version="1.0" encoding="utf-8" ?>
3 < Soft >
4 < SN RegCode ="01234567890" ></ SN >
5 < LoginConfig SqlServer ="." SqlDB ="db" UserCode ="sa" UserPwd ="123" >
6 </ LoginConfig >
7 </ Soft >
2 <? xml version="1.0" encoding="utf-8" ?>
3 < Soft >
4 < SN RegCode ="01234567890" ></ SN >
5 < LoginConfig SqlServer ="." SqlDB ="db" UserCode ="sa" UserPwd ="123" >
6 </ LoginConfig >
7 </ Soft >
读取指定元素指定属性的值:
1
///
<summary>
2 /// 返回XMl文件指定元素的指定属性值
3 /// </summary>
4 /// <param name="xmlElement"> 指定元素 </param>
5 /// <param name="xmlAttribute"> 指定属性 </param>
6 /// <returns></returns>
7 public static string getXmlValue( string xmlElement, string xmlAttribute)
8 {
9 XDocument xmlDoc = XDocument.Load(xmlName);
10 var results = from c in xmlDoc.Descendants(xmlElement)
11 select c;
12 string s = "" ;
13 foreach (var result in results)
14 {
15 s = result.Attribute(xmlAttribute).Value.ToString();
16 }
17 return s;
18 }
2 /// 返回XMl文件指定元素的指定属性值
3 /// </summary>
4 /// <param name="xmlElement"> 指定元素 </param>
5 /// <param name="xmlAttribute"> 指定属性 </param>
6 /// <returns></returns>
7 public static string getXmlValue( string xmlElement, string xmlAttribute)
8 {
9 XDocument xmlDoc = XDocument.Load(xmlName);
10 var results = from c in xmlDoc.Descendants(xmlElement)
11 select c;
12 string s = "" ;
13 foreach (var result in results)
14 {
15 s = result.Attribute(xmlAttribute).Value.ToString();
16 }
17 return s;
18 }
写入指定元素指定属性的值:
1
///
<summary>
2 /// 设置XMl文件指定元素的指定属性的值
3 /// </summary>
4 /// <param name="xmlElement"> 指定元素 </param>
5 /// <param name="xmlAttribute"> 指定属性 </param>
6 /// <param name="xmlValue"> 指定值 </param>
7 public static void setXmlValue( string xmlElement, string xmlAttribute, string xmlValue)
8 {
9 XDocument xmlDoc = XDocument.Load(xmlName);
10 xmlDoc.Element( " Soft " ).Element(xmlElement).Attribute(xmlAttribute).SetValue(xmlValue);
11 xmlDoc.Save(xmlName);
12 }
13 }
2 /// 设置XMl文件指定元素的指定属性的值
3 /// </summary>
4 /// <param name="xmlElement"> 指定元素 </param>
5 /// <param name="xmlAttribute"> 指定属性 </param>
6 /// <param name="xmlValue"> 指定值 </param>
7 public static void setXmlValue( string xmlElement, string xmlAttribute, string xmlValue)
8 {
9 XDocument xmlDoc = XDocument.Load(xmlName);
10 xmlDoc.Element( " Soft " ).Element(xmlElement).Attribute(xmlAttribute).SetValue(xmlValue);
11 xmlDoc.Save(xmlName);
12 }
13 }