gpt4 book ai didi

c# - HtmlAgility 从 Div 节点的样式参数中删除属性

转载 作者:行者123 更新时间:2023-11-30 14:55:29 27 4
gpt4 key购买 nike

我无法尝试从 DIV 元素的样式属性中删除样式定义。HTML代码:

<div class="el1" style="width:800px; max-width:100%" />
...

<div class="el2" style="width:800px; max-width:100%" />

我可能需要对这些元素中的 1 个以上应用操作。

这是我到目前为止使用 HtmlAgilityPack 的结果。

foreach (HtmlNode div in doc.DocumentNode.SelectNodes("//div[@style]"))
{
if (div != null)
{
div.Attributes["style"].Value["max-width"].Remove(); //Remove() does not appear to be a function
}
}

我的想法是选择任何具有样式属性的。查找最大宽度定义并将其删除。

关于如何实现这一目标的任何指导?

最佳答案

感谢 Marcel 为我指明了正确的方向:

这是对我有用的解决方案。

HtmlNodeCollection divs = doc.DocumentNode.SelectNodes("//div[@style]");
if (divs != null)
{
foreach (HtmlNode div in divs)
{
string style = div.Attributes["style"].Value;
string pattern = @"max-width(.*?)(;)";
Regex regex = new Regex(pattern, RegexOptions.IgnoreCase);
string newStyle = regex.Replace(style, String.Empty);
div.Attributes["style"].Value = newStyle;
}
}

关于c# - HtmlAgility 从 Div 节点的样式参数中删除属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25232205/

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