public Song(XMLNodeG recordNode) : base(MBEntityType.recording) { if (recordNode.node.Name == "recording") { this.Name = recordNode.GetChild("title").InnerText; this.MBID = recordNode.GetAttributeVal("id"); //-------------- Get duration --------------------- string dur = recordNode.GetChild("length").InnerText; if (dur != "") //if duration exists { this.duration = int.Parse(dur); } //-------------- Get artists --------------------- foreach (XMLNodeG ArtistNode in recordNode.GetChildren("artist-credit")) { foreach (XMLNodeG ArtistNameNode in ArtistNode.GetChildren("name-credit")) { Artists.Add(new Artist(ArtistNameNode)); Artists.Reverse(); //featured artists are always shown first for some reason, make them come last } } //-------------- Get releases --------------------- foreach (XMLNodeG releaseListNode in recordNode.GetChildren("release-list")) { foreach (XMLNodeG releaseNode in releaseListNode.GetChildren("release")) { Releases.Add(new Release(releaseNode)); } } } }
private static OutputArtistNode MapBandWithInfoToOutputArtist(ArtistEnhancerConfiguration artistEnhancerConfiguration, ArtistNode artist, BandWikiPageInfo bandWithInfo) { var outputArtist = new OutputArtistNode(artist); outputArtist.WikiPage = string.Format(artistEnhancerConfiguration.WikiSearchConfig.WikiPageGetTemplateUrl, bandWithInfo.Language, bandWithInfo.PageId); return(outputArtist); }