2
0

MusicVideoXmlParser.cs 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. using MediaBrowser.Controller.Entities;
  2. using MediaBrowser.Controller.Providers;
  3. using MediaBrowser.Model.Logging;
  4. using System;
  5. using System.Xml;
  6. namespace MediaBrowser.LocalMetadata.Parsers
  7. {
  8. public class MusicVideoXmlParser : BaseVideoXmlParser<MusicVideo>
  9. {
  10. /// <summary>
  11. /// Initializes a new instance of the <see cref="BaseItemXmlParser{T}" /> class.
  12. /// </summary>
  13. /// <param name="logger">The logger.</param>
  14. public MusicVideoXmlParser(ILogger logger)
  15. : base(logger)
  16. {
  17. }
  18. /// <summary>
  19. /// Fetches the data from XML node.
  20. /// </summary>
  21. /// <param name="reader">The reader.</param>
  22. /// <param name="result">The result.</param>
  23. protected override void FetchDataFromXmlNode(XmlReader reader, MetadataResult<MusicVideo> result)
  24. {
  25. var item = result.Item;
  26. switch (reader.Name)
  27. {
  28. case "Artist":
  29. {
  30. var val = reader.ReadElementContentAsString();
  31. if (!string.IsNullOrWhiteSpace(val))
  32. {
  33. var artists = val.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
  34. item.Artists.AddRange(artists);
  35. }
  36. break;
  37. }
  38. case "Album":
  39. item.Album = reader.ReadElementContentAsString();
  40. break;
  41. default:
  42. base.FetchDataFromXmlNode(reader, result);
  43. break;
  44. }
  45. }
  46. }
  47. }