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); }
private static TranslationTerm[] ExtractTerms( IHtmlDocument document ) { return document.DescendantNodes() .OfType<IHtmlTextNode>() .Where( IsTranslatable ) .Select( t => new TranslationTerm( t ) ) .ToArray(); }