技术开发 频道

如何利用XML文件,做为配置参数?


【IT168技术文档】

  以前我在处理程序的配置文件时,基本上都是读取文本文件。这样做的结果是文本文件的格式和内容不好确定,因为文本文件格式比较随意,结果配置的更改非常的麻烦。
  现在是XML盛行的时代,我想好多人早已用XML文档做为配置数据的载体了,而我是刚刚才掌握而已。现在写一点示例代码,希望对新朋友有所帮助。
  这样操作的原理是使用FileStream和Dataset。将XML文件中读取到的字符串做为参数传递给Dataset,而形成一个Dataset数据集,我们再从数据集中读取数据。这对于习惯于操作数据库的朋友来说可能更为方便一些。但相信有很多朋友会选择直接读取XML文件中的XmlNodes,希望这些朋友看到时能给我回复一个更好的代码。谢谢。
  以下就是全部的代码:
1 private void btnReadXML_Click(object sender, EventArgs e) 2 { 3 DataSet myDS = new DataSet(); 4 string xmlData; 5 StringBuilder sb = new StringBuilder(); 6 7 string fileName; 8 fileName = @"C:\Documents and Settings\guof\Desktop\Configure.xml"; 9 10 try 11 { 12 FileStream fs = new FileStream(fileName, FileMode.Open); 13 StreamReader sr = new StreamReader(fs); 14 15 string strLine = ""; 16 strLine = sr.ReadLine(); 17 sb.Append(strLine); 18 while (!sr.EndOfStream) 19 { 20 strLine = sr.ReadLine(); 21 sb.Append(strLine); 22 } 23 24 sr.Close(); 25 fs.Close(); 26 27 xmlData = sb.ToString(); 28 29 StringReader xmlSR = new StringReader(xmlData); 30 31 myDS.ReadXml(xmlSR, XmlReadMode.InferSchema); 32 xmlSR.Close(); 33 dgvXmlDS.DataSource = myDS.Tables[0]; 34 } 35 catch (Exception ex) 36 { 37 MessageBox.Show(ex.Message); 38 } 39 }
  以下是相关的XML文件内容:
1<TSDS> 2 <ConfigureStrings> 3 <Server>sapf</Server> 4 <DBUser>sa</DBUser> 5 <DBPassword>sa</DBPassword> 6 </ConfigureStrings> 7</TSDS>
  由于仅是测试的代码,因此没有完整地遵循Try Catch结构,实际应用时还需要调整。
  这段代码并不是高效地代码,希望朋友们帮我指正和回复更好的代码。
0
相关文章