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

发布于 2024-11-05 04:29:53 字数 435 浏览 3 评论 0原文

我正在使用 asp:XmlDataSource 列出 xml 文档。它看起来像这样:

我正在使用它像这样的 asp:Listview

我想知道是否有办法逆转顺序,因为我希望 xml 的最后行成为列表中的第一。我怎样才能实现这个目标?

I'm using an asp:XmlDataSource to list an xml document. It looks like this:

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

And I'm using it in a asp:Listview like this:

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

I was wondering if there was a way to reverse the order, because I would like the last row of the xml to be the first row in my list. How can I achieve this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

这样的小城市 2024-11-12 04:29:53

如果你的 xml 看起来像这样(例如):

<myxml>
  <row id="1">
  <row id="2">
</myxml>

那么你可以用这样的东西进行内联转换:

<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>

希望有帮助:)

if your xml looked like this (for example):

<myxml>
  <row id="1">
  <row id="2">
</myxml>

then you can do an inline transform with something like this:

<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>

Hope that helps :)

暖伴 2024-11-12 04:29:53

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

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

XDocument XDoc = XDocument.Load(XMLFileName);
ListView.DataSource = (from XMLNode in XDoc.Nodes()
                       select XMLNode.ToString()).ToList().Reverse();
ListView.DataBind();

You could just populate a list, reverse it, then bind to that list.

EDIT: It's hard to give an example, because it'll totally depend on your XML file, but the basic idea is below, where you'd change the select statement as required and maybe add some from statements as required.

XDocument XDoc = XDocument.Load(XMLFileName);
ListView.DataSource = (from XMLNode in XDoc.Nodes()
                       select XMLNode.ToString()).ToList().Reverse();
ListView.DataBind();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文