История изменений
Исправление d_Artagnan, (текущая версия) :
есть что-то объединяющее типы лент
Конечно. RSS и Atom зовется. И после этого фид парсить и разбирать становится не просто, а очень просто.Например:
public class XMLCollector
{
private XmlTextReader _reader;
private FeedOptions _options;
public XMLCollector ( FeedOptions options )
{
_options = options;
_reader = new XmlTextReader(_options.FeedURL);
}
public List<Tuple<string, string, string>> Collect ()
{
var doc = new XmlDocument ();
var result = new List<Tuple<string, string, string>> ();
doc.Load (_reader);
var nodes = doc.SelectNodes (_options.FeedItemPath);
foreach (XmlNode node in nodes)
result.Add(Tuple.Create(
node.SelectSingleNode(_options.ItemA).InnerXml,
node.SelectSingleNode(_options.ItemB).InnerXml,
Regex.Match(node.SelectSingleNode(_options.ItemC).InnerText, _options.ExtractExpr ).Groups[2].Value
));
return result;
}
}
Всё.
PS Ввиду банальности и простоты вопроса неясна сентанция про «Этот шаг пока ещё не реализован.» от (***) пользователя. Это разве так сложно?
Upd: посмотрел твой профиль. Теперь понятно, почему пресловутый «шаг» еще не реализован. Ничего не поделаешь - это Лисп... Счастливой отладки.
Исходная версия d_Artagnan, :
Как раз вчера ночерком делал
есть что-то объединяющее типы лент
Конечно. RSS и Atom зовется. И после этого фид парсить и разбирать становится не просто, а очень просто.Например:
public class XMLCollector
{
private XmlTextReader _reader;
private FeedOptions _options;
public XMLCollector ( FeedOptions options )
{
_options = options;
_reader = new XmlTextReader(_options.FeedURL);
}
public List<Tuple<string, string, string>> Collect ()
{
var doc = new XmlDocument ();
var result = new List<Tuple<string, string, string>> ();
doc.Load (_reader);
var nodes = doc.SelectNodes (_options.FeedItemPath);
foreach (XmlNode node in nodes)
result.Add(Tuple.Create(
node.SelectSingleNode(_options.ItemA).InnerXml,
node.SelectSingleNode(_options.ItemB).InnerXml,
Regex.Match(node.SelectSingleNode(_options.ItemC).InnerText, _options.ExtractExpr ).Groups[2].Value
));
return result;
}
}
Всё.
PS Ввиду банальности и простоты вопроса неясна сентанция про «Этот шаг пока ещё не реализован.» от (***) пользователя. Это разве так сложно?