質問

私は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();
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top