public void DeleteAppPage(Hashtable State, string page_name) { Util util = new Util(); XmlDocument xmlDoc = GetStagingAppXml(State); XmlNode page_name_node = xmlDoc.SelectSingleNode("//pages/page/name[. ='" + page_name + "']"); if (page_name_node != null) { XmlNode page_node = page_name_node.ParentNode; XmlNode pages_node = page_node.ParentNode; pages_node.RemoveChild(page_node); State["AppXmlDoc"] = xmlDoc; util.UpdateStagingAppXml(State); util.DeleteAppPageImage(State, page_name); } //get first page first to see if that needs to be changed XmlNode first_page_name = xmlDoc.SelectSingleNode("//pages/first_page_name"); if (first_page_name == null) { XmlNode pages = xmlDoc.SelectSingleNode("//pages"); first_page_name = CreateNode(xmlDoc, pages, "first_page_name", ""); } if (page_name == first_page_name.InnerText || first_page_name.InnerText == "") { //take first page we see XmlNode first_page_name_node = xmlDoc.SelectSingleNode("//pages/page/name"); if (first_page_name_node != null) { first_page_name.InnerText = first_page_name_node.InnerText; State["AppXmlDoc"] = xmlDoc; util.UpdateStagingAppXml(State); } } }