我正在使用asp:XmlDataSource
列出xml文档。它看起来像这样:
<asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile="~/App_Data/Xml/History.xml" />
我正在asp:Listview
这样使用它:
<asp:ListView runat="server" DataSourceID="XmlDataSource1" >
我想知道是否有办法扭转顺序,因为我希望xml的 last 行成为我的第一个行列表即可。我怎样才能做到这一点?
答案 0 :(得分:2)
如果您的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>
希望有所帮助:)
答案 1 :(得分:2)
您可以填充列表,反转它,然后绑定到该列表。
编辑:很难给出一个例子,因为它完全取决于您的XML文件,但基本思想如下,您可以根据需要更改select语句,也可以根据需要在语句中添加一些。 / p>XDocument XDoc = XDocument.Load(XMLFileName);
ListView.DataSource = (from XMLNode in XDoc.Nodes()
select XMLNode.ToString()).ToList().Reverse();
ListView.DataBind();