我有一個xml,我想通過date.my代碼進行排序它到現在爲止是這樣的問題按日期排序---> XML
XmlDocument doc = new XmlDocument();
doc.Load("/ABC.xml");
XPathNavigator nav = doc.CreateNavigator();
//doing some filtering and creating xpath expression based on that
XPathExpression expression = nav.Compile(xpath);
XPathExpression sortexpression = nav.Compile("/categories/category/date/text()");
DateComparer dc = new DateComparer();
//expression.AddSort("sortexpression", dc);
編輯:我已經改變了這
expression.AddSort(sortexpression,dc);
現在沒有錯誤,但sortin不能正常工作,而當我開始知道在datecomparer類中只有我的xml的第一個日期正在進行,並且因此沒有進行排序。但爲什麼只有我的第一個XML日期進入datecomparer.Any想法,我錯了?
XPathNodeIterator iterator = nav.Select(expression);
後來與我的中繼
public class DateComparer : IComparer
{
public DateComparer() { }
public int Compare(object date1, object date2)
{
DateTime d1 = Convert.ToDateTime(date1);
DateTime d2 = Convert.ToDateTime(date2);
return d1.CompareTo(d2);
}
}
我的XML綁定此迭代器是這樣
<categories>
<category>
<title>ABCD<title>
<date>2002-01-01<date>
<category>
<categories>
日期I M安寧是YYYY-MM-DD格式。我也嘗試過其他格式的日期,例如mm/dd/yyyy和dd/mm/yyyy。
//但是當我執行此代碼時,我得到錯誤「字符串未被識別爲有效的日期時間」。任何想法在我的代碼中有什麼問題?
編輯:沒有錯誤見上
感謝您的答覆我已經測試了mm/dd/yyyy和dd/mm/yyyy但仍然錯誤是一樣的 – 2009-12-27 19:24:13