@Deka007

Как записать данные в один файл xml без перезаписи?

Есть массив с ссылками на rss сайты, из ссылок загружаю xml структуру, но загрузить все xml структуры из всех ссылок массива не получается, т.к он перезаписывает их, в итоге загружаю только одну структуру из одной ссылки, а в массиве остаются другие ссылки.

string[] rsslinks = { "https://www.e-ir.info/category/blogs/feed/", "https://www.reddit.com/r/worldnews/.rss"};
 OnGetFeed(rsslinks);

 void OnGetFeed(string[] uri)
            {
                foreach (string url in uri)
                {
                    string writePath = @"D:\RssFeed\RSS_feed.xml";
                    
                    XmlDocument doc = new XmlDocument();
                    doc.Load(url);
                    
                    doc.Save(writePath);
}
  • Вопрос задан
  • 143 просмотра
Решения вопроса 2
MrMureno
@MrMureno
VR for all
так вы же в каждой итерации цикла foreach создаете НОВЫЙ объект

XmlDocument doc = new XmlDocument();

Выносите создание из цикла. и не перезаписывайте, а дополняйте)) хотя чую вам хочется не просто текст подряд, а сохранить структуру xml, тогда парсить вам каждый фаилик/ссылку и собирать нужное в один свой.
Ответ написан
@Deka007 Автор вопроса
string writePath = @"D:\RssFeed\RSS_feed.xml";
                var sw = new StreamWriter(writePath, true, System.Text.Encoding.Default);
                XmlDocument doc = new XmlDocument();
                foreach( string url in uri)
                {
                    doc.Load(url);
                    doc.Save(sw);
                }
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы