c#标签添html加属性,c# – 使用HtmlAgilityPack将样式属性添加到Html的更好方法

探讨如何在使用HtmlAgilityPack时,避免强制设置P标签的margin-top,并寻求更高效、DOM风格的方法来管理样式属性。作者寻求更智能的方式来处理元素样式,减少冗余操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我正在使用

HtmlAgilityPack.我正在搜索所有P标签并在P标签内的样式中添加“margin-top:0px”.

正如你所看到的那样,它有点“强制”使用margin-top属性.似乎必须有一个更好的方法来使用

HtmlAgilityPack但我找不到它,并且HtmlAgilityPack文档不存在.

谁知道更好的方法?

HtmlNodeCollection pTagNodes = node.SelectNodes("//p[not(contains(@style,'margin-top'))]");

if (pTagNodes != null && pTagNodes.Any())

{

foreach (HtmlNode pTagNode in pTagNodes)

{

if (pTagNode.Attributes.Contains("style"))

{

string styles = pTagNode.Attributes["style"].Value;

pTagNode.SetAttributeValue("style", styles + "; margin-top: 0px");

}

else

{

pTagNode.Attributes.Add("style", "margin-top: 0px");

}

}

}

更新:我已根据Alex的建议修改了代码.仍然想知道是否有一些内置的

HtmlAgilityPack中的功能,它将以更“DOM”的方式处理样式属性.

const string margin = "; margin-top: 0px";

HtmlNodeCollection pTagNodes = node.SelectNodes("//p[not(contains(@style,'margin-top'))]");

if (pTagNodes != null && pTagNodes.Any())

{

foreach (var pTagNode in pTagNodes)

{

string styles = pTagNode.GetAttributeValue("style", "");

pTagNode.SetAttributeValue("style", styles + margin);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值