わかりましたので、HTMLAgilityPack で使用される XPath クエリは初めてです。
それでは、このページhttp://health.yahoo.net/articles/healthcare/what-your-favorite-flavor-says-about-youについて考えてみましょう。私が欲しいのは、ページのコンテンツだけを抽出することです。
そのために、最初にスクリプトとスタイルのタグを削除します。
Document = new HtmlDocument();
Document.LoadHtml(page);
TempString = new StringBuilder();
foreach (HtmlNode style in Document.DocumentNode.Descendants("style").ToArray())
{
style.Remove();
}
foreach (HtmlNode script in Document.DocumentNode.Descendants("script").ToArray())
{
script.Remove();
}
その後、 //text() を使用してすべてのテキストノードを取得しようとしています。
foreach (HtmlTextNode node in Document.DocumentNode.SelectNodes("//text()"))
{
TempString.AppendLine(node.InnerText);
}
ただし、テキストだけでなく、多数の /r /n 文字も取得しています。
この点に関して、少しガイダンスが必要です。