private void ProcessingRootNode(XmlNode node) { NLog.LogManager.GetCurrentClassLogger().Info(node.Name); NLog.LogManager.GetCurrentClassLogger().Info(node.InnerXml); var tmpContext = new SimpleProcessorContext(); tmpContext.CurrentNode = node; tmpContext.CurrentResultNode = mResultXmLDocument.DocumentElement; DispatchNode(tmpContext); }
private void DispatchNode(SimpleProcessorContext context) { NLog.LogManager.GetCurrentClassLogger().Info("DispatchNode"); NLog.LogManager.GetCurrentClassLogger().Info(context.CurrentNode.Name); NLog.LogManager.GetCurrentClassLogger().Info(context.CurrentNode.InnerXml); if (context.CurrentNode.Name == "article") { ProcessArticleNode(context); return; } if (context.CurrentNode.Name == "title") { ProcessTitle(context); return; } if (context.CurrentNode.Name == "para") { ProcessPara(context); return; } if (context.CurrentNode.Name == "section") { ProcessSection(context); return; } if (context.CurrentNode.Name == "itemizedlist") { ProcessItemizedList(context); return; } if (context.CurrentNode.Name == "orderedlist") { ProcessOrderedList(context); return; } if (context.CurrentNode.Name == "listitem") { ProcessListItem(context); return; } }
private void ProcessListItem(SimpleProcessorContext context) { NLog.LogManager.GetCurrentClassLogger().Info("ProcessListItem"); NLog.LogManager.GetCurrentClassLogger().Info(context.CurrentNode.Name); NLog.LogManager.GetCurrentClassLogger().Info(context.CurrentNode.InnerXml); NLog.LogManager.GetCurrentClassLogger().Info(context.CurrentNode.InnerText); NLog.LogManager.GetCurrentClassLogger().Info(context.CurrentNode.Value); ProcessWithSubNodes(context, "li"); }
private void ProcessWithSubNodes(SimpleProcessorContext context, string tagName) { var tmpCurrentNode = context.CurrentNode; var tmpCurrentResultNode = context.CurrentResultNode; var tmpElem = mResultXmLDocument.CreateElement(tagName); context.CurrentResultNode.AppendChild(tmpElem); context.CurrentResultNode = tmpElem; context.Level++; foreach (XmlNode child in context.CurrentNode.ChildNodes) { NLog.LogManager.GetCurrentClassLogger().Info(child.Name); context.CurrentNode = child; DispatchNode(context); } context.Level--; context.CurrentNode = tmpCurrentNode; context.CurrentResultNode = tmpCurrentResultNode; }
private void ProcessSection(SimpleProcessorContext context) { NLog.LogManager.GetCurrentClassLogger().Info("ProcessSection"); NLog.LogManager.GetCurrentClassLogger().Info(context.CurrentNode.Name); NLog.LogManager.GetCurrentClassLogger().Info(context.CurrentNode.InnerXml); NLog.LogManager.GetCurrentClassLogger().Info(context.CurrentNode.InnerText); NLog.LogManager.GetCurrentClassLogger().Info(context.CurrentNode.Value); ProcessChilds(context); }
private void ProcessPara(SimpleProcessorContext context) { NLog.LogManager.GetCurrentClassLogger().Info("ProcessPara"); NLog.LogManager.GetCurrentClassLogger().Info(context.CurrentNode.Name); NLog.LogManager.GetCurrentClassLogger().Info(context.CurrentNode.InnerXml); NLog.LogManager.GetCurrentClassLogger().Info(context.CurrentNode.InnerText); NLog.LogManager.GetCurrentClassLogger().Info(context.CurrentNode.Value); var tmpElem = mResultXmLDocument.CreateElement("p"); tmpElem.InnerText = context.CurrentNode.InnerText.Trim(); context.CurrentResultNode.AppendChild(tmpElem); }
private void ProcessTitle(SimpleProcessorContext context) { NLog.LogManager.GetCurrentClassLogger().Info("ProcessTitle"); NLog.LogManager.GetCurrentClassLogger().Info(context.CurrentNode.Name); NLog.LogManager.GetCurrentClassLogger().Info(context.CurrentNode.InnerXml); NLog.LogManager.GetCurrentClassLogger().Info(context.CurrentNode.InnerText); NLog.LogManager.GetCurrentClassLogger().Info(context.CurrentNode.Value); NLog.LogManager.GetCurrentClassLogger().Info("context.Level = {0}", context.Level); var tmpTargetLevel = context.Level; if(tmpTargetLevel > 6) { tmpTargetLevel = 6; } var tmpElem = mResultXmLDocument.CreateElement("h" + tmpTargetLevel.ToString()); tmpElem.InnerText = context.CurrentNode.InnerText.Trim(); context.CurrentResultNode.AppendChild(tmpElem); }
private void ProcessChilds(SimpleProcessorContext context) { context.Level++; var tmpCurrNode = context.CurrentNode; foreach (XmlNode child in context.CurrentNode.ChildNodes) { context.CurrentNode = child; DispatchNode(context); } context.CurrentNode = tmpCurrNode; context.Level--; }
private void ProcessArticleNode(SimpleProcessorContext context) { NLog.LogManager.GetCurrentClassLogger().Info("ProcessArticleNode"); NLog.LogManager.GetCurrentClassLogger().Info(context.CurrentNode.Name); NLog.LogManager.GetCurrentClassLogger().Info(context.CurrentNode.InnerXml); ProcessChilds(context); }