从XDocument获取数据

时间:2010-05-26 21:07:22

标签: c# asp.net xml linq linq-to-xml

所以这是我的XML文件:

<book>
    <title>Book Title</title>
    <author>Book Author</author>
    <pubDates>
        <date format="standard">1991-01-15</date> 
        <date format="friendly">January 1991</date> 
    </pubDates>
</book>

我正在将数据加载到XDocument中,然后从XDocument中检索它并将其添加到Book类中,但是我无法获取日期。我想找回友好的约会对象。

这就是我所拥有的:

XDocument xml = XDocument.Load("http://www.mysite.com/file.xml");

List<Book> books = new List<Book>();
books.Add(new Book
                {
                    Title = xml.Root.Element("title").Value,
                    Author = xml.Root.Element("author").Value,
                    //PubDate = 
                }
            );

如何获得友好约会?

2 个答案:

答案 0 :(得分:5)

PubDate = DateTime.ParseExact(xml.Root.Elements("pubDates")
.Elements("date")
.Where(n => n.Attribute("format").Value == "standard")
.FirstOrDefault()
.Value
, "yyyy-mm-dd", CultureInfo.InvariantCulture);

答案 1 :(得分:0)

我没有对此进行过测试,但看起来应该是这样的:

from node in xml.DescendantNodes("pubDates").DescendantNodes("date")
where node.Attribute("format").Value == "friendly"
select node.Value.FirstOrDefault()