2014-03-24 1 views
1

Я искал в Интернете для этого, но я не могу найти какое-либо релевантное решение.Сортировка XmlNodeList со значением определенного узла

я следующий 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 для сотрудников, а другой - для соответствующих целей.

Что мне нужно, я хочу сортировать все Цели, связанные с сотрудником по отношению к 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");

Здесь я хочу отсортированные цели (по отношению к LastModifiedOn).

Я также посмотрел на некоторые полезные ссылки, но не получил ни малейшего представления до сих пор

  1. Sorting XML nodes based on DateTime attribute C#, XPath
  2. XMLdocument Sort

Я готов преобразовать код в LINQ TO XML, но необходимо краткое пример.

ответ

0

Одна вещь, которую вы могли бы попробовать, - создать коллекцию пар ключей, где ключ - цель, а значение - дата. Затем вы можете переопределить метод CompareTo, сравнив даты, а затем вы можете просто использовать [имя коллекции] .Sort(). Надеюсь, это поможет

 Смежные вопросы

  • Нет связанных вопросов^_^