ASP.NET中使用Treeview和XML(3)

分类: asp.net   出处:iocblog整理  更新时间:2008-08-14   添加到收藏  

  在使用xsl时,可以用如下的方法对树形控件进行绑定:
  <form runat="server">
  <ie:treeview runat="server">
  <ie:treenode runat="server" text="asp.net books" expanded="true"
  treenodesrc="aspnetbooks.xml"
  treenodexsltsrc="aspbooks.xsl" />
  </ie:treeview>
  </form>
  
  其中,treenodexsltsrc的属性中指定要转换的xsl文件,我们设计的xsl文件如下:
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/xsl/transform" version='1.0'>
  <xsl:template match="/books">
  <treenodes>
  <xsl:for-each select="book">
  <treenode>
  <xsl:attribute name="text">
  <xsl:value-of select="title" />
  </xsl:attribute>
  
  <treenode>
  <xsl:attribute name="text">
  price - $<xsl:value-of select="@price" />
  </xsl:attribute>
  </treenode>
  
  <treenode text="authors">
  <xsl:for-each select="authors/author">
  <treenode>
  <xsl:attribute name="text">
  <xsl:value-of select="text()" />
  </xsl:attribute>
  </treenode>
  </xsl:for-each>
  </treenode>
  
  <treenode>
  <xsl:attribute name="text">
  year published - <xsl:value-of select="year" />
  </xsl:attribute>
  </treenode>
  </treenode>
  </xsl:for-each>
  </treenodes>
  </xsl:template>
  </xsl:stylesheet>
  
  在上面的xsl中,我们通过形如:
  <xsl:attribute name="text">
  <xsl:value-of select="title" />
  </xsl:attribute>
  
  的属性设置,提取xml文件中每个结点的值,将其赋值给予treenode的text属性中。当然,也可以在xsl中使用xpath等设置要显示的结点。
  
  运行后,结果同样与用第一种方法的一样,能正确显示树形控件,而且灵活性比较高(来源 www.iocblog.net)

上一页 [1] [2] [3]


Tag: TreeView ,xml