首页 > 解决方案 > 如何拆分 HtmlNode
,然后从每个拆分字符串中提取 InnerText?

问题描述

我目前正在尝试:

node.InnerHtml.Split("<br>").Select(s => HtmlNode.CreateNode(s).InnerText).ToList()

这导致了异常:

无法创建多个节点元素

这似乎很奇怪,因为这些拆分字符串具有普通的文本 + html 元素,遵循上述节点 html 的示例:

Some <span>text</span> here <br>
Some <span>text</span> here 2<br>
Some <span>text</span> here 3<br>

我错过了什么吗?你会如何让它发挥作用?

标签: c#html-agility-pack

解决方案


我发现只有当字符串以 html 标记开头和结尾时它才会成功创建节点,所以我解决这个问题的新方法是:

node.InnerHtml.Split("<br>").Select(s => HtmlNode.CreateNode($"<span>{s}</span>").InnerText).ToList()

推荐阅读