listViewで逆転したドキュメント注文xmldataSourceを達成する方法は?
-
28-10-2019 - |
質問
私はAnを使用しています asp:XmlDataSource
XMLドキュメントをリストします。このように見えます:
<asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile="~/App_Data/Xml/History.xml" />
そして、私はそれをaで使用しています asp:Listview
このような:
<asp:ListView runat="server" DataSourceID="XmlDataSource1" >
注文を逆転させる方法があるのではないかと思っていました。 私は欲しいです 過去 XMLの行があります 最初 私のリストの行. 。どうすればこれを達成できますか?
解決
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>
それが役立つことを願っています:)
他のヒント
リストに登録して逆にしてから、そのリストにバインドすることができます。
編集:XMLファイルに完全に依存するため、例を挙げるのは難しいですが、基本的なアイデアは以下であり、必要に応じて選択ステートメントを変更し、必要に応じてステートメントからいくつかを追加する可能性があります。
XDocument XDoc = XDocument.Load(XMLFileName);
ListView.DataSource = (from XMLNode in XDoc.Nodes()
select XMLNode.ToString()).ToList().Reverse();
ListView.DataBind();
所属していません StackOverflow