我有xml文件,我想查找具有最早日期的节点。
没有XLST可以做到吗?
代码:
var xml = @"<books>
<book>
<id>1</id>
<date>2011-01-02</date>
</book>
<book>
<id>2</id>
<date>2011-02-02</date>
</book>
<book>
<id>3</id>
<date>2011-03-01</date>
</book>
</books>
";
XDocument document = XDocument.Parse(xml);
var result = document.XPathSelectElements("//books/book[max(????)]").ToList();
谢谢,
答案 0 :(得分:0)
答案 1 :(得分:0)
没有直接的方法可以做到这一点。 一些简单的算法将是......:
translate
答案 2 :(得分:0)
试试这个:
var result = document
.Elements("books")
.Elements("book")
.Elements("date")
.Min(e => DateTime.Parse(e.Value));
答案 3 :(得分:0)
您可以使用LINQ to XML,例如:
var result = document.Element("books")
.Elements("book")
.OrderByDescending(b => (DateTime)b.Element("date"))
.First();
答案 4 :(得分:0)
试试这个。
var booksList = document.Descendants("book")
.Min(b => Convert.ToDateTime(b.Element("date").Value));