1

これについて Web を検索しましたが、関連する解決策が見つかりません。

私は次のXMLを持っています

  <Table>
    <Entity>Employee</Entity>
    <EntityID>2786</EntityID>
    <Goal>
      <GoalId>31931</GoalId>
      <FilterData>LastModifiedOn¥2014-03-20T18:11:01.0000000+05:30ÆActiveTaskCount¥0</FilterData>
    </Goal>
    <Goal>
      <GoalId>31932</GoalId>
      <FilterData>LastModifiedOn¥2014-03-22T15:26:09.0000000+05:30ÆActiveTaskCount¥0</FilterData>
    </Goal>
    <Goal>
      <GoalId>31932</GoalId>
      <FilterData>LastModifiedOn¥2014-03-22T09:25:00.0000000+05:30ÆActiveTaskCount¥0</FilterData>
    </Goal>
  </Table> 

上記の XML からデータを読み取ると、2 つの別々のデータが得られましたDataTables。1 つは従業員用、もう 1 つは関連する目標用です。

私が必要としていたのは、ノードLastModifiedOnから従業員に関連するすべての目標を並べ替えたいということです。FilterData

注: このように分割ノード値によって LastModifiedOn 値を取得しています

nodevalue.Split('Æ')[0].Split('¥')[1]

現在、操作を行うために System.XML 名前空間を使用しています。LINQ TO XML も調べましたが、機能させることができません。

次のコードで XMLNodelist を取得しています

XmlNodeList GoalNodesList =doc.DocumentElement.SelectNodes("/NewDataSet/Table[Entity='Employee' and EntityID='" + EntityId + "']/Goal");

ここで、Sorted Goals ( に関してLastModifiedOn) が必要です。

いくつかの便利なリンクも見ましたが、これまでのところ何もわかりませんでした

  1. DateTime 属性に基づく XML ノードの並べ替え C#、XPath
  2. XML文書ソート

コードを変換する準備ができましLINQ TO XMLたが、簡単な例が必要でした。

4

1 に答える 1

0

あなたが試すことができることの1つは、キーが目標で値が日付であるキーと値のペアのコレクションを作成することです。次に、日付を比較して CompareTo メソッドをオーバーライドし、[コレクション名].Sort() を使用できます。お役に立てれば

于 2014-07-28T20:01:29.027 に答える