Exemplo n.º 1
0
        public async void ReplacePersonNamesInParagraphNodes(HtmlDocument htmlDocument)
        {
            var paragraphNodes = htmlDocument.DocumentNode.SelectNodes("//p");

            foreach (var node in paragraphNodes)
            {
                var pieces = node.InnerHtml.Split('.');

                foreach (var s in pieces)
                {
                    try
                    {
                        var names = await _personNameFinder.FindPersonNames(s);

                        foreach (var name in names)
                        {
                            var newName = _nameGenerator.GenerateReplacementName(name);

                            node.InnerHtml = node.InnerHtml.Replace(name, newName);
                        }
                    }
                    catch (Exception e)
                    {
                        _logger.LogError(e, e.Message);
                    }
                }
            }
        }