好吧我想要删除这个特定节点的所有子节点
这里是节点源代码
<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>
所以我想删除所有span子节点和div子节点 - 实际上是节点下的所有子节点
删除这些孩子后,我应该7,
作为所选节点的innertext
非常感谢答案
c#.net 4.5 wpf
答案 0 :(得分:1)
如果您只想在外部<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);