コード例 #1
0
 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);
     }
 }
コード例 #2
0
        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);
        }