HTMLAgilityPack解析InnerHTML

c# html-agility-pack

<div>
<b>Token1</b>
Token2
<b>Token3</b>
</div>

我嘗試從div中提取Token2

我設法讓Token1和Token3得到:

<div>
<b>Token1</b>
Token2
<b>Token3</b>
</div>

如何使用HTMLAgilityPack直接提取Token2?

一個臟選項是用doc.DocumentNode.SelectNodes(“// div”)中的string.empty替換Token1和Token2。InnerText,但我想它可以用HTMLAgilityPack以更乾淨的方式完成...

專家解答

文本在文本節點中;所以你應該能夠看到“// div / text()”並連接:

StringBuilder sb = new StringBuilder();
foreach (HtmlAgilityPack.HtmlTextNode node in
      doc.DocumentNode.SelectNodes("//div/text()"))
{
    sb.Append(node.Text.Trim());
}
string s = sb.ToString();



許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因