
episode parse
By: a guest on
Jun 26th, 2011 | syntax:
C# | size: 2.93 KB | hits: 36 | expires: Never
private bool ReadEpisodeInfos()
{
cfgReader = new XmlTextReader("episodeInfos.xml");
cfgReader.WhitespaceHandling = WhitespaceHandling.None;
try
{
while (cfgReader.Read())
{
if (cfgReader.NodeType == XmlNodeType.EndElement || cfgReader.Name == "")
{
continue;
}
else if (cfgReader.NodeType == XmlNodeType.Element)
{
if (cfgReader.Name.Equals("Season1"))
{
HandleEpisode();
}
}
}
}
catch (FileNotFoundException)
{
MessageBox.Show("Couldn't open \"episodeInfos.xml\"! Please download again!", "Error opening \"episodeInfos.xml\"", MessageBoxButton.OK);
this.Close();
}
catch (Exception)
{
MessageBox.Show("Couldn't load \"episodeInfos.xml\"! Make sure it's not opened. You might also check the syntax.", "Error loading \"episodeInfos.xml\"", MessageBoxButton.OK);
this.Close();
}
cfgReader.Close();
return true;
}
private void HandleEpisode()
{
int seasonNr;
int episodeNr;
try
{
DateTime tmp;
for (seasonNr = 0; seasonNr < season.Length; seasonNr++)
{
cfgReader.Read();
for (episodeNr = 0; episodeNr < season[seasonNr].episode.Length; episodeNr++)
{
cfgReader.MoveToFirstAttribute();
season[seasonNr].episode[episodeNr].id = cfgReader.ReadContentAsInt();
cfgReader.MoveToNextAttribute();
season[seasonNr].episode[episodeNr].title = cfgReader.ReadContentAsString();
cfgReader.MoveToNextAttribute();
DateTime.TryParse(cfgReader.Value, out tmp);
season[seasonNr].episode[episodeNr].airDate = tmp;
cfgReader.MoveToNextAttribute();
season[seasonNr].episode[episodeNr].views = cfgReader.ReadContentAsDouble();
cfgReader.MoveToContent();
season[seasonNr].episode[episodeNr].description = cfgReader.ReadElementContentAsString();
}
cfgReader.Read();
}
}
catch (Exception ex)
{
MessageBox.Show("An error occured while loading episode information.\nError message:\n" + ex.Message, "Error!", MessageBoxButton.OK, MessageBoxImage.Error);
}
}