static void ReadFromXML(XmlTextWriter writer) { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load("../../review-queries.xml"); string xPathQuery = "/review-queries"; XmlNodeList bookList = xmlDoc.SelectNodes(xPathQuery); foreach (XmlNode bookNode in bookList) { foreach (XmlNode queryNode in bookNode.SelectNodes("query")) { string type = queryNode.Attributes["type"].Value; string startDate = queryNode.GetNodeContent("start-date"); string endDate = queryNode.GetNodeContent("end-date"); string author = queryNode.GetNodeContent("author-name"); if (type == "by-period") { var reviews = BookstoreDAL.FindReviewsByPeriod(startDate, endDate); BookstoreDAL.WriteReviews(writer, reviews); } else { var reviews = BookstoreDAL.FindReviewsByAuthor(author); BookstoreDAL.WriteReviews(writer, reviews); } } } }