private IEnumerable<VersionDescription> ParseAppCast(string data)
{
var doc = XDocument.Parse(data);
var versions = new List<VersionDescription>();
foreach (var item in doc.Descendants("item")) {
try {
var ver = new VersionDescription {
Title = GetStringValue(item.Element("title")),
PublishDate = GetDateTimeValue(item.Element("pubDate")),
Link = GetUriValue(item.Element("link")),
Description = GetContents(item.Element("description")),
Enclosures = item.Elements("enclosure").Select(elt =>
new VersionEnclosure {
Url = GetUriValue(elt.Attribute("url")),
Length = GetIntValue(elt.Attribute("length")),
Type = GetStringValue(elt.Attribute("type")),
Title = GetStringValue(elt),
InstallerType = GetInstallerTypeValue(elt.Attribute("installer-type")),
}
).ToArray(),
};
versions.Add(ver);
}
catch (ParseErrorException) {
//Do nothing
}
}
return versions;
}