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

div から Token2 を抽出しようとしています

私は Token1 と Token3 を取得することができました:

HtmlNodeCollection headerFooter = doc.DocumentNode.SelectNodes("//div//b");

HTMLAgilityPack で Token2 を直接抽出するにはどうすればよいですか?

汚いオプションの 1 つは、doc.DocumentNode.SelectNodes("//div").InnerText で Token1 と Token2 を string.empty に置き換えることですが、HTMLAgilityPack を使用すると、よりクリーンな方法で行うことができると思います...

4

1 に答える 1

6

テキストはテキスト ノードにあります。したがって、「//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();
于 2009-08-28T10:35:25.830 に答える