在Web开发中,程序和数据库打交道是常有的事情。在平时使用过程中,使用较多的是MS SQLSERVER,因此经常用到SQLDataSource将数据绑定的数据控件上。有时数据量较小,无需要在数据库中创建表来维护,可以考虑使用一些文件报存数据。在Web应用中,XML可作为轻量级的数据库。而读取XML文件中的数据,我么就可以用到XMLDataSource了。

假设我用一个XML文件存储了省份的信息(这是一个几乎不需要维护的信息),在aspx页面上使用DropDownList控件绑定。首先看VS中如何不需要写代码将数据绑定上去。准备好XML文件(Provice.xml),如下

<Provinces>
  <provinceItem name="北京" ></provinceItem>
  <provinceItem name="上海" ></provinceItem>
  <provinceItem name="广东" ></provinceItem>
  <provinceItem name="天津" ></provinceItem>
  <provinceItem name="河北" ></provinceItem>
  <provinceItem name="吉林" ></provinceItem>
  <provinceItem name="浙江" ></provinceItem>
  <provinceItem name="湖南" ></provinceItem>
</Provinces>
aspx页面上放一个DropDownList,为其选择数据源。在提供的数据源选项中,选择XML文件,选中刚才准备好的XML文件。此时,会让你选择DropDownList的显示字段和值字段(注意,Xml文件中的字段已经被DropDownList解析到了)。选择name为DataTextField,id为DataValueField。配置完成后,在浏览器中预览,发现数据已经绑定到DropDownList上了。但是,按照上面Xml的格式写法,name和id是provinceItem元素的属性。若将Xml改换成下面这种格式(新建一个City.xml文件),用上述同样方法去绑定,在浏览器中查看页面时,发现报错。DataBinding:“System.Web.UI.WebControls.XmlDataSourceNodeDescriptor”不包含名为“cityName”的属性。

此时,需要另外一个文件,后缀xslt的文件。它的作用是当作XML文件的模版。XmlDataSource会按照XSLT规定的模板读取并转换XML文档里的数据,而不考虑XML文档里规定的数据结构。下面为City.xml创建一个模版,如下:

此后,再次绑定,在选择xml文件时,有一项可供选择转换文件,选中刚才创建的模板City.xslt文件。再次浏览其中浏览网页,完成了City.xml通过XmlDataSource绑定至DropDownList上。



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章:

  • 2021-10-25
  • 2021-10-13
  • 2021-08-10
  • 2022-02-12
  • 2021-08-03
  • 2021-05-27
  • 2021-11-02
  • 2021-08-21
猜你喜欢
  • 2021-08-22
  • 2022-12-23
  • 2022-12-23
  • 2021-08-03
  • 2021-08-22
  • 2021-12-12
  • 2022-12-23
相关资源
相似解决方案