Question

So here's my XML file:

<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>

I'm loading the data into an XDocument, then retrieving it from the XDocument and adding it into a Book class, but I'm having trouble getting the date. I'd like to retrieve the friendly date.

Here's what I have:

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 = 
                }
            );

How can I get the friendly date?

Was it helpful?

Solution

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

OTHER TIPS

I haven't tested this, but it should look something like this:

from node in xml.DescendantNodes("pubDates").DescendantNodes("date")
where node.Attribute("format").Value == "friendly"
select node.Value.FirstOrDefault()
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top