Пример #1
0
        public async Task <string> WriteRssAsync()
        {
            var feed     = GetItemCollection(FeedItemCollection);
            var settings = new XmlWriterSettings
            {
                Async = true
            };

            var sw = new StringWriterWithEncoding(Encoding.UTF8);

            await using var xmlWriter = XmlWriter.Create(sw, settings);
            var writer = new RssFeedWriter(xmlWriter);

            await writer.WriteTitle(HeadTitle);

            await writer.WriteDescription(HeadDescription);

            await writer.Write(new SyndicationLink(new(TrackBackUrl)));

            await writer.WritePubDate(DateTimeOffset.UtcNow);

            await writer.WriteCopyright(Copyright);

            await writer.WriteGenerator(Generator);

            foreach (var item in feed)
            {
                await writer.Write(item);
            }

            await xmlWriter.FlushAsync();

            xmlWriter.Close();

            await sw.FlushAsync();

            sw.GetStringBuilder();
            var xml = sw.ToString();

            return(xml);
        }
Пример #2
0
        public async Task <string> WriteAtomAsync()
        {
            var feed     = GetItemCollection(FeedItemCollection);
            var settings = new XmlWriterSettings
            {
                Async = true
            };

            var sw = new StringWriterWithEncoding(Encoding.UTF8);

            await using var xmlWriter = XmlWriter.Create(sw, settings);
            var writer = new AtomFeedWriter(xmlWriter);

            await writer.WriteTitle(HeadTitle);

            await writer.WriteSubtitle(HeadDescription);

            await writer.WriteRights(Copyright);

            await writer.WriteUpdated(DateTime.UtcNow);

            await writer.WriteGenerator(Generator, HostUrl, GeneratorVersion);

            foreach (var item in feed)
            {
                await writer.Write(item);
            }

            await xmlWriter.FlushAsync();

            xmlWriter.Close();

            await sw.FlushAsync();

            sw.GetStringBuilder();
            var xml = sw.ToString();

            return(xml);
        }