需要解析的配置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[]["value"].ToString());