Узлы фильтра XmlDocument по строке даты и времени - PullRequest
0 голосов
/ 21 декабря 2010

Попытка применить сравнение фильтров / атрибутов в Xmldocument. Очевидно, что следующий фрагмент кода не сработает, потому что выражение не может быть преобразовано с помощью функции number (). (согласно ответу на мой другой вопрос).

Мне интересно, есть ли способ сравнения строк DateTime в XmlDoc.

XmlNodeList test = x2PathDoc.SelectNodes("//Config
                                         /Entity
                                           [@TargetDateTime> 
                                            '2010-12-19T03:25:00-08:00']");

1 Ответ

1 голос
/ 21 декабря 2010

При выполнении сравнения xpath преобразует параметры в числа. Поскольку '2010-12-19T03: 25: 00-08: 00' нельзя преобразовать в число, SelectNode возвращает пустой список.

Если бы вы сохранили дату в другом формате, чтобы ее можно было преобразовать в число, с вами все будет в порядке. см. пример ниже: формат даты ггггммдд.ччммсс

var root = new XmlDocument();
root.LoadXml(@"<dates><date value=""20060419.201500""/><date value=""20060420.201500""/><date value=""20060421.201500""/></dates>");

var node = root.SelectNodes(@"dates/date[@value < 20060421.235959]")I
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...