private ArticleInfo ReadArticle(XmlReader reader)
{
do
if (!reader.ReadToFollowing("page")) return null;
while (!reader.IsStartElement());
ArticleInfo ai = new ArticleInfo();
while (reader.Read() && reader.Name != "page") // stop on closing element
{
if (!reader.IsStartElement()) continue;
switch (reader.Name)
{
case "title":
ai.Title = reader.ReadString();
break;
case "timestamp":
ai.Timestamp = reader.ReadString();
break;
case "restrictions":
ai.Restrictions = reader.ReadString();
break;
case "text":
ai.Text = reader.ReadString();
break;
}
}
return ai.IsFullyRead ? ai : null;
}