我使用一个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)。我怎样才能做到这一点?
发布于 2011-05-04 12:16:58
如果您的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>希望有帮助:)
发布于 2011-05-04 12:20:42
您只需填充一个列表,反转它,然后绑定到该列表。
编辑:很难给出一个示例,因为它将完全依赖于您的XML文件,但基本思想如下,您将根据需要更改select语句,并根据需要添加一些from语句。
XDocument XDoc = XDocument.Load(XMLFileName);
ListView.DataSource = (from XMLNode in XDoc.Nodes()
select XMLNode.ToString()).ToList().Reverse();
ListView.DataBind();https://stackoverflow.com/questions/5882963
复制相似问题