У меня есть код, который работает, но я хотел бы посмотреть, есть ли более приятное и лучшее решение, чем то, что у меня есть (я уверен, что есть!). У меня есть веб-служба, которая должна возвращать все узлы, у которых есть дочерний узел с именем «updatedDate» с датой, более поздней, чем переданная дата. XML, который я возвращаю, может быть разным для каждого запроса, единственное, что у них общего, — это узел updatedDate. В настоящее время я использую linq to xml с xpath, вот код:
XDocument allNodes = XDocument.Parse(result);
IEnumerable<XElement> nodesWithDates = allNodes.XPathSelectElements("//updatedDate");
XElement updatedNodes = new XElement("UpdatedNodes");
foreach (XElement node in nodesWithDates)
{
DateTime date;
if (DateTime.TryParse(node.Value, out date))
{
if (date > dateToCompare)
{
updatedNodes.Add(node.Parent);
}
}
}
return updatedNodes;
Есть идеи, как его улучшить?
Спасибо,
Аннели