【发布时间】:2021-03-17 15:19:54
【问题描述】:
我有以下 html 字符串,我正在尝试使用以下代码识别 html 字符串中整个文本的 <br> 标记开始和结束
var htmlstring = "<p><span><br> text <b>text <br></b>text <br></span></p>"
var document = new HtmlDocument();
document.LoadHtml(htmlString);
var nodes= rootNode.SelectNodes("//br")
但它提供了所有<br>标签节点,我只希望在html字符串下方的整个html文本字符串的开头和结尾处
<p><span><br> text <b> text <br></b>text <br></span></p>
我正在寻找的节点应该是 2 而不是 3,但因为它计算了文本之间出现的 <br> 标记,所以得到了 3。
谁能帮我解决这个问题,非常感谢提前
【问题讨论】:
-
为什么不直接使用 linq:
document.DocumentNode.SelectNodes("//br").First()? -
你应该有一个文本节点的定义,什么是文本节点?例如
标签被视为文本节点
-
@FlatEric 这也将给出这个计数
<p><span> text <b>text &nbsp;<br></b>text</span></p>我不想要那个我只想在整个 html 字符串的开头和结尾识别标签,基本上是想稍后删除标签 -
@AshkanMobayenKhiabani 我只想在我正在寻找的整个 html 字符串的开头或结尾选择标签
<br>,但上面的代码给出了所有标签跨度> -
我不知道为什么
First应该给你除了第一个...
标签: c# html html-agility-pack