Example #1
0
 private static TranslationTerm[] ExtractTerms(IHtmlDocument document)
 {
     return(document.DescendantNodes()
            .OfType <IHtmlTextNode>()
            .Where(IsTranslatable)
            .Select(t => new TranslationTerm(t))
            .ToArray());
 }
        /// <summary>
        /// 返回文档所有节点,包括已分配和游离的
        /// </summary>
        /// <param name="document">查找节点的文档</param>
        /// <returns>文档的所有节点</returns>
        public static IEnumerable <IHtmlNode> AllNodes(this IHtmlDocument document)
        {
            if (document == null)
            {
                throw new ArgumentNullException("document");
            }


            var nodes = new HashSet <IHtmlNode>();

            nodes.UnionWith(document.DescendantNodes());

            var manager = document.FragmentManager;

            if (manager != null)
            {
                nodes.UnionWith(manager.AllFragments.SelectMany(fragment => fragment.DescendantNodes()));
            }

            return(nodes);
        }
Example #3
0
 private static TranslationTerm[] ExtractTerms( IHtmlDocument document )
 {
   return document.DescendantNodes()
     .OfType<IHtmlTextNode>()
     .Where( IsTranslatable )
     .Select( t => new TranslationTerm( t ) )
     .ToArray();
 }