asp.net实现XML文件读取数据绑定到DropDownList的方法

时间:2022-08-29 15:03:02

本文实例讲述了asp.net实现XML文件读取数据绑定到DropDownList的方法。分享给大家供大家参考,具体如下:

1 、绑定DropDownList:

?
1
2
3
4
ddl_language.DataSource = createDataSource();
ddl_language.DataTextField = "languageTextField";
ddl_language.DataValueField = "languageValueField";
ddl_language.DataBind();

2、上面用到的createDataSource()方法:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
private ICollection createDataSource()
{
 //create a data table to store the data for the ddl_langauge control
 DataTable dt = new DataTable();
 //define the columns of the table
 dt.Columns.Add("languageTextField",typeof(string));
 dt.Columns.Add("languageValueField",typeof(string));
 //read the content of the xml file into a DataSet
 DataSet lanDS = new DataSet();
 string filePath = ConfigurationSettings.AppSettings["LanguageXmlFile"];
 lanDS.ReadXml(filePath);
 if(lanDS.Tables.Count > 0)
 {
   foreach(DataRow copyRow in lanDS.Tables[0].Rows)
   {
      dt.ImportRow(copyRow);
   }
 }
 DataView dv = new DataView(dt);
 return dv;
}

3、Web.config

?
1
2
3
4
<appSettings>
  <!--The file path for the language type xml file-->
  <addkey="LanguageXmlFile"value="d:\Rhombussolution\Rhombus2\Languages.xml"/>
</appSettings>

4、Languages.xml

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?xmlversion="1.0"encoding="utf-8"?>
<languageTypes>
  <language>
   <languageValueField>en-US</languageValueField>
   <languageTextField>English</languageTextField>
  </language>
  <language>
   <languageValueField>zh-CN</languageValueField>
   <languageTextField>中文</languageTextField>
  </language>
  <language>
   <languageValueField>ja-JP</languageValueField>
   <languageTextField>日语</languageTextField>
  </language>
</languageTypes>

希望本文所述对大家asp.net程序设计有所帮助。