private void ReadHelpFile() { if (_directory == null) { return; } string projectPath = Path.Combine(_directory, ProjectInfoDirectory); _topics.Clear(); _urlMap.Clear(); _ctxIdMap.Clear(); if (Directory.Exists(projectPath)) { string toc = Path.Combine(projectPath, TocFile); string topics = Path.Combine(projectPath, TopicsFile); XmlDocument doc = new XmlDocument(); doc.Load(toc); _topics = new HelpTopicList(); for (int i = 0; i < doc.DocumentElement.ChildNodes.Count; i++) { if (doc.DocumentElement.ChildNodes[i] is XmlElement) { XmlElement item = (XmlElement)doc.DocumentElement.ChildNodes[i]; HelpTopic helpTopic = ParseTopic(item); _topics.Add(helpTopic); ParseToc(helpTopic, item); } } doc.Load(topics); ParseTopics(doc); } }
private HelpTopic ParseTopic(XmlElement item) { string url = GetUrl(item); string title = GetTitle(item); HelpTopicList list = null; if (item.ChildNodes.Count > 1) { list = new HelpTopicList(); } HelpTopic helpTopic = new HelpTopic(title, url, list); _urlMap[url] = helpTopic; return(helpTopic); }