나는 XML을 가지고 지금이문제 ---> 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);
편집까지 나는 date.my 코드를 정렬하려면 : 나는
expression.AddSort(sortexpression,dc);
이 변경되었습니다
오류가 없지만 sortin이 제대로 작동하지 않습니다. datecomparer 클래스에서 내 xml의 첫 번째 날짜가 가고 있다는 것을 알게되면서 정렬 작업이 진행되지 않습니다. 그런데 왜 XML의 첫 데이트가 datecomparer.Any Idea에 들어가는가?
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을이 반복자 바인딩에 내가 YYYY-MM-DD 형식에 포기하고있어이
<categories>
<category>
<title>ABCD<title>
<date>2002-01-01<date>
<category>
<categories>
날짜 같다. 나는 mm/dd/yyyy 및 dd/mm/yyyy와 같은 다른 형식으로 날짜를 시도했습니다.
//하지만이 코드를 실행할 때 "문자열이 유효한 Datetime으로 인식되지 않았습니다."라는 오류가 발생했습니다. 내 코드의 문제는 무엇입니까?
편집 : 오류가 당신이 IFormatProvider
사용하는 날짜와 같은 Convert.ToDateTime
방법을 제공하기 위해 필요 해요 문자열로 날짜를 읽을 것을 가정
답장을 보내 주셔서 감사합니다. mm/dd/yyyy와 dd/mm/yyyy를 모두 테스트했지만 오류는 같습니다. –