gpt4 book ai didi

c# - 如何根据父 div 中的符号删除它?

转载 作者:太空宇宙 更新时间:2023-11-04 14:39:05 25 4
gpt4 key购买 nike

可以删除包含父 div 的带有 (x) 符号的项目。

<div>
<div>
<h2 id="-663241532">
<span>Item 1</span>
</h2>
<p>Content 1</p>
</div>
<div>
<h4 id="1074494955">
<span>(x)Item 1.1.1</span>
</h4>
<p>Title 2</p>
<div>
Content 2
</div>
</div>
</div>

去掉之后一定是

<div>
<div>
<h2 id="-663241532">
<span>Item 1</span>
</h2>
<p>Content 1</p>
</div>
</div>

我写了这个正则表达式

@"<div>(.*?)<span>\(x\)(.*?)</span>(.*?)</div>"

但它也删除了第一个 div。

如果有帮助,我可以访问 ID -663241532。

最佳答案

我建议你使用HtmlAgilityPack (可从 NuGet 获得)用于处理 HTML:

HtmlDocument doc = new HtmlDocument();
doc.Load("index.html");
var spans = doc.DocumentNode.SelectNodes("//span[contains(., '(x)')]");
foreach (var span in spans)
{
HtmlNode parent = span.ParentNode;
while (parent != null)
{
if (parent.Name == "div")
{
parent.Remove();
break;
}

parent = parent.ParentNode;
}
}

上面的 XPath 选择所有包含 (x) 文本的 span 节点。然后在循环中,我们搜索每个选定 span 的最近 div 父级并将其删除。

关于c# - 如何根据父 div 中的符号删除它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19769945/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com