public VirtualFolderContents(string contents)
        {
            var parsed = new AttributedContents(contents);
            ImagePath = parsed.GetSingleAttribute(Image);

            var foundFolders = parsed.GetMultiAttribute(Folder);
            if (foundFolders != null) {
                this.folders.AddRange(foundFolders);
            }
        }
        public VirtualFolderContents(string contents)
        {
            var parsed = new AttributedContents(contents);

            ImagePath = parsed.GetSingleAttribute(Image);

            var foundFolders = parsed.GetMultiAttribute(Folder);

            if (foundFolders != null)
            {
                this.folders.AddRange(foundFolders);
            }
        }
        public VodcastContents(string contents) {
            AttributedContents data = new AttributedContents(contents);
            Url = data.GetSingleAttribute(VODCAST_URL);

            int filesToRetain;
            int.TryParse(data.GetSingleAttribute(FILES_TO_RETAIN), out filesToRetain);
            FilesToRetain = filesToRetain;

            try {
                DownloadPolicy = (DownloadPolicy)Enum.Parse(typeof(DownloadPolicy), data.GetSingleAttribute(DOWNLOAD_POLICY));
            } catch {
                DownloadPolicy = DownloadPolicy.Stream;
            }
        }
        public VodcastContents(string contents)
        {
            AttributedContents data = new AttributedContents(contents);

            Url = data.GetSingleAttribute(VODCAST_URL);

            int filesToRetain;

            int.TryParse(data.GetSingleAttribute(FILES_TO_RETAIN), out filesToRetain);
            FilesToRetain = filesToRetain;

            try {
                DownloadPolicy = (DownloadPolicy)Enum.Parse(typeof(DownloadPolicy), data.GetSingleAttribute(DOWNLOAD_POLICY));
            } catch {
                DownloadPolicy = DownloadPolicy.Stream;
            }
        }