.NET 2.0 中XML数据的处理

作者:网络 来源:佚名 更新时间:2009-01-05 13:01:51 点击:

sqldatasource和objectdatasource控件都是平面表格式的数据源控件,操作也相对简单,在这里我就不细说了。

在这里我主要谈下用于连接xml文件的xmldatasource和用于连接站点导航数据的sitemapdatasource这两个层次数据源控件中xmldatasource数据绑定到平面表格控件的一起东东。

xmldatasource控件允许其它控件绑定到xml数据。xmldatasource支持datafile属性,它被用于指定作为输入(input)的xml数据文件的路径。你还可以指定tranformfile属性,给数据应用xslt转换;设置xpath属性来指定需要暴露的数据源节点的子集。

transformfile="~transxml" xpath="//user">

表格式数据绑定控件绑定到分层数据源也是可行的,但是它只能显示第一层数据。在下面的demo中,repeater控件绑定到 temp.xml文件。由于数据源暴露的顶层节点是节点,repeater可以在自己的itemtemplate模板中使用eval数据绑定语法绑定到这些节点的属性。

标题姓名:email:

除了eval数据绑定语法之外,asp.net 2.0还提供了基于xpath的数据绑定语法,在实现了ixpathnavigable接口的任何数据项上都可以使用它。这里介绍两种常用的表达式类型:

◆xpath(expression, [formatstring]) - 根据数据项计算xpath表达式的值,返回单个值。

◆xpathselect(expression, [formatstring]) - 根据数据项计算xpath表达式的值,返回节点列表。

下面我们来看看使用xpath数据绑定方法的优势,通过一个demo来说明。

repeater的itemtemplate模板另外增加了一个repeater,并把这个内部repeater的属性绑定到一个描述当前user节点的reply子节点的xpathselect表达式。在内部repeater的itemtemplate模板中,

xpath数据绑定表达式根据这些"reply"内容节点来计算值。asp.net 2.0利用这种技术,使你能够通过组合表格式数据绑定控件简便地构造出丰富的、分层的数据显示方式。