问题:我需要删除所有<p>
标签的样式属性,如果它包含font-weight:bold
属性,则添加<b>
到它。
例如:如果 html 是
<p style="margin-top:0pt; margin-bottom:0pt;font-weight:bold; font-weight:bold;font-size:10pt; font-family:ARIAL" align="center"> SOME TEXT HERE</p>
.
输出应该是:
<p align="center"> <b>SOME TEXT HERE</b></p>
我正在使用以下代码,
var htmlDocument = new HtmlDocument();
htmlDocument.LoadHtml(htmlPage);
foreach (var htmlTag in attributetags)
{
var Nodes = htmlDocument.DocumentNode.SelectNodes("//p");
if (Nodes != null)
{
bool flag = false;
foreach (var Node in Nodes)
{
if (Node.Attributes["style"] != null)
{
if (Node.Attributes["style"].Value.Contains("font-weight:bold"))
{
var bnode = HtmlNode.CreateNode("<b>");
Node.PrependChild(bnode);
}
Node.Attributes.Remove("style");
}
}
}
}
我也试过Node.InsertAfter(bcnode, Node), Node.InsertBefor(bnode, Node)