例如:
<div id="outer">
<div id="a">
<div class="b"> 11111111111</div>
<div class="b"> 22222222222222</div>
</div>
</div>
现在我想匹配id为a
的元素,并将其替换为空,但我发现我不能,因为id="a"
不是外部div。
这是我的c#代码,它将匹配最后一个 标记。
Regex regex = new Regex(@"<div id=""a([\s\S]*) (<\/[div]>+)");
答案 0 :(得分:1)
试试这个:
var doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(html);
var divs = doc.DocumentNode.Descendants().Where(x => x.Name == "div" && x.Id == "a");
foreach (var div in divs.ToArray())
{
div.InnerHtml = "";
}
var result = doc.DocumentNode.OuterHtml;
我得到的result
是:
<div id="outer">
<div id="a"></div>
</div>