C#学习笔记-XML的读写(一)
需要解析的配置XML
<?xml version="1.0" encoding="utf-8" ?> <configurations> <property name="ETL_Source_Server"> <type>string</type> <value>100</value> <description>ETL源服务器</description> </property> <property name="ETL_Source_User"> <type>string</type> <value>db1</value> <description>数据库用户</description> </property> </configurations>
C#代码
引用
using System.Xml;
利用DataSet读取XML
//XML所在的路径 string filename = System.AppDomain.CurrentDomain.BaseDirectory + @"Setting.xml"; DataSet thisDataSet = new DataSet(); System.IO.FileStream stream = new System.IO.FileStream(filename, System.IO.FileMode.Open); System.Xml.XmlTextReader xmlReader = new System.Xml.XmlTextReader(stream); // Read the schema into the DataSet and close the reader. thisDataSet.ReadXml(xmlReader, XmlReadMode.InferTypedSchema); ; xmlReader.Close();
逐表逐行遍历
foreach (DataTable dt in thisDataSet.Tables) { MessageBox.Show("TableName:" + dt.TableName); foreach (DataRow dr in dt.Rows) { foreach (DataColumn dc in dt.Columns) { MessageBox.Show(dc.ColumnName+":" + dr[dc.ColumnName].ToString()); } } }
根据条件查询,生成需要的Datarow
DataRow[] dataRows01 = thisDataSet.Tables["property"].Select("name='ETL_Source_Server'"); MessageBox.Show(dataRows01[0]["value"].ToString());