私はこの特定のノードのすべての子ノードを削除したい
ここでノードのソースコード
<div class="Price fs30 clr8">
7,
<span class="PriceCurrency">73 TL
<span class="kdv">KDV Dahil</span>
</span>
<div class="SaleDiv">
%15
<span>İndirim</span>
</div>
</div>
だから私はすべてのスパンの子供とdiv子供を削除したい - 実際にすべての子供は、ノードの下にあるもの
これらの子を削除した後、 innertext
は選択されたノードのinnertext
として7,
を得るべきです
タイは非常に答えに
c#.net 4.5 wpf
外側の<div>
内にテキストノードだけを残したい場合は、星型XPathセレクタ( *
)を使用してすべてのhtml子ノードを選択して削除することができます。コンソールアプリケーションの例を次に示します。
var html = @"<div class=""Price fs30 clr8"">
7,
<span class=""PriceCurrency"">73 TL
<span class=""kdv"">KDV Dahil</span>
</span>
<div class=""SaleDiv"">
%15
<span>İndirim</span>
</div>
</div>";
var doc = new HtmlDocument();
doc.LoadHtml(html);
var div = doc.DocumentNode.SelectSingleNode("//div[@class='Price fs30 clr8']");
foreach (HtmlNode node in div.SelectNodes("*"))
{
node.Remove();
}
var innerText = div.InnerText.Trim();
Console.WriteLine(innerText);