ノードの要素種類を変更する(Html Agility Pack)
Html Agility Packで読み込んだHTMLからSelectNodesでノードを取得した後に、ノードの要素を別の要素に切り替える方法です。
HTMLファイル
読み込むHTMLは以下の通りです。(c:\temp\test.html)
<div>a1</div>
<div>a2</div>
<div>a3</div>
コード
以下のコードでは、<div>要素をSelectNodesですべて取得したあとに、<p>要素に書き換えています。
var doc = new HtmlDocument();
doc.Load(@"c:\temp\test.html");
// <div>要素をすべて取得して<p>要素に置換
var nodes = doc.DocumentNode.SelectNodes("//div");
foreach(var node in nodes)
{
node.Name = "p";
}
Console.WriteLine(doc.DocumentNode.OuterHtml);
出力結果は以下の通り。
<p>a1</p>
<p>a2</p>
<p>a3</p>
取得したノードの「Name」プロパティを書き換えるだけで、要素の種類が変更されます。