protected void HandleBlocks(BlockCollection destBlockColl, TreeNode node, Inline nodeRun) { if (nodeRun != null) { destBlockColl.Add(new Paragraph(nodeRun)); } if (node.ChildCount > 0) { HtmlBlockExtractionVisitor blockVisitor = new HtmlBlockExtractionVisitor(TextChannel); foreach (TreeNode child in node.ListOfChildren) { child.AcceptDepthFirst(blockVisitor); } destBlockColl.AddRange(blockVisitor.ExtractedBlocks); } }
protected override bool HandleHtmlElement(XmlProperty xmlProp, TreeNode node, Inline nodeRun) { switch (xmlProp.LocalName) { case "li": ListItem newItem = new ListItem(); if (HtmlBlockExtractionVisitor.ContainsHtmlBlockChild(node)) { HandleBlocks(newItem.Blocks, node, nodeRun); } else { Paragraph para = new Paragraph(); HandleInlines(para.Inlines, node, nodeRun); newItem.Blocks.Add(para); } ExtractedListItems.Add(newItem); return(false); default: break; } return(true); }