public static void Main(string[] args) { // Check if page exists bool doesExist = Wiki.DoesPageExist("shouldnotexist"); // false doesExist = Wiki.DoesPageExist("snow"); // true doesExist = Wiki.DoesPageExist("lion"); // true doesExist = Wiki.DoesPageExist("nonsensepage"); // false // Build custom query QueryBuilder queryBuilder = new QueryBuilder("https://en.wikipedia.org/w/api.php?"); queryBuilder.AppendParam("action", "query"); queryBuilder.AppendMultiValParam("prop", new [] { "info", "description" }); queryBuilder.AppendParam("titles", "snow"); string result = Wiki.QueryPageName(queryBuilder); ParserXml parserXml = new ParserXml(result); // Convenience method for grabbing a page summary (first paragraph) string summary = Wiki.PageSummary("snow"); }
/// <summary> /// Check a page exists /// </summary> /// <param name="pageTitle">Title of wiki page</param> /// <returns></returns> public static bool DoesPageExist(string pageTitle) { QueryBuilder query = new QueryBuilder(BASE_URI, Format.JSON); query.AppendParam("action", "query"); query.AppendParam("titles", pageTitle); query.Format = Format.XML; string result = QueryPageName(query); ParserXml parserXml = new ParserXml(result); string idStr = parserXml.PageId(); try{ int id = Int32.Parse(idStr); if (id >= 0) { return(true); } } catch (FormatException e) { return(false); } return(false); }