示例#1
0
        private void MovePageNumber(XElement pageNumSpan)
        {
            var parent = pageNumSpan.Parent;

            if (parent == null || parent == Body || BlockContainerNames.Contains(parent.Name))
            {
                return;
            }
            pageNumSpan.Remove();
            parent.AddAfterSelf(pageNumSpan);
            MovePageNumber(pageNumSpan);
        }
示例#2
0
 private IEnumerable <XElement> ExpandBlockContainers(XElement elem)
 {
     if (elem == null)
     {
         throw new ArgumentNullException(nameof(elem));
     }
     if (BlockContainerNames?.Contains(elem.Name) ?? false)
     {
         if (elem.Nodes().OfType <XText>().Any(t => !String.IsNullOrWhiteSpace(t.Value)))
         {
             var lineInfo = (IXmlLineInfo)elem;
             throw new InvalidOperationException(
                       $"Div element with mixed or pure text content not supported ({lineInfo})");
         }
         return(elem.Elements().SelectMany(ExpandBlockContainers));
     }
     return(new[] { elem });
 }