首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从OuterHtml获取TextContent

从OuterHtml获取TextContent
EN

Stack Overflow用户
提问于 2020-06-24 21:50:44
回答 1查看 41关注 0票数 0

在某些情况下,Textcontent会返回不带空格的文本(我使用的是控制台应用程序),所以我要确保它是正确的。我想知道是否有一种方法可以用新行替换每个<br>,然后从修改后的OuterHTML中获取TextContent?

代码语言:javascript
复制
  var posts_value = Posts.Select(m => m.OuterHtml.Replace("<br>",Environment.NewLine));

我得到了想要的结果,但不确定如何从上面获得TextContent?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-01 04:44:50

好吧,如果您正在寻找一个更接近浏览器呈现的文本的字符串,那么可以尝试AngleSharp.Css附带的GetInnerText扩展方法。

如果您想要的是使用OP中提到的替换来获得TextContent,那么我建议先进行节点替换,然后再获取TextContent

代码语言:javascript
复制
async Task Main()
{
    var config = Configuration.Default;
    var context = BrowsingContext.New(config);
    var document = await context.OpenAsync(res => res.Content("<div>hello<br>there</div>"));
    var before = document.Body.TextContent;
    
    foreach (var br in document.QuerySelectorAll("br"))
    {
        br.Replace(document.CreateTextNode("\n"));
    }
    
    var after = document.Body.TextContent;
    
    before.Dump();
    after.Dump();
}

结果是

代码语言:javascript
复制
hellothere
hello
there

希望这能有所帮助!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62556710

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档