首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在XmlDataSource中实现反向文档排序的ListView?

如何在XmlDataSource中实现反向文档排序的ListView?
EN

Stack Overflow用户
提问于 2011-05-04 11:56:15
回答 2查看 776关注 0票数 0

我使用一个asp:XmlDataSource来列出一个xml文档。看起来是这样的:

<asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile="~/App_Data/Xml/History.xml" />

我把它用在这样的asp:Listview上:

<asp:ListView runat="server" DataSourceID="XmlDataSource1" >

我想知道是否有一种方法来逆转顺序,因为我希望xml的最后行成为列表中的 first 行(E 213)。我怎样才能做到这一点?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-04 12:16:58

如果您的xml看起来如下(例如):

代码语言:javascript
复制
<myxml>
  <row id="1">
  <row id="2">
</myxml>

然后,您可以使用以下内容进行内联转换:

代码语言:javascript
复制
<asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile="~/App_Data/Xml/History.xml">
  <Transform>   
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
     <xsl:template match="*">
     <myxml> 
        <xsl:for-each select="//row"> 
          <xsl:sort select="@id" order="descending" /> 
          <xsl:copy-of select="row"/> 
        </xsl:for-each> 
     </myxml>
    </xsl:template>
    </xsl:stylesheet>
</Transform>
</asp:XmlDataSource>

希望有帮助:)

票数 2
EN

Stack Overflow用户

发布于 2011-05-04 12:20:42

您只需填充一个列表,反转它,然后绑定到该列表。

编辑:很难给出一个示例,因为它将完全依赖于您的XML文件,但基本思想如下,您将根据需要更改select语句,并根据需要添加一些from语句。

代码语言:javascript
复制
XDocument XDoc = XDocument.Load(XMLFileName);
ListView.DataSource = (from XMLNode in XDoc.Nodes()
                       select XMLNode.ToString()).ToList().Reverse();
ListView.DataBind();
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5882963

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档