【发布时间】:2019-03-04 18:54:57
【问题描述】:
我在 DB 中有一个包含 HTML 格式文本的通用文本字段的表。我需要解析这样一个字段的内容,找到所有的“img”标签并执行2个操作(仅适用于“img”标签):
1) 删除“style”属性及其所有值。
2) 插入一个 class="img-responsive" 属性。
要解析的 HTML 内容的一个特征是它没有完整的层次结构。例如,要解析的字符串可以如下:
<div>
<p>This is some text</p>
<img src="http://www.mywebsite.com/myImage.jpg" alt = "" style="width:600px; height: 400px;"/>
</div>
我尝试了不同的方法来查找“img”标签,但均未成功。例如:
String strHTML = "The sample HTML code above";
var doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(strHTML);
foreach (var img in doc.DocumentNode.Descendants("img"))
{
// Remove "style" attribute for "img" tag.
// Add class="img-responsive" for "img" tag.
}
上面代码的问题是没有根节点但是我不知道如何“覆盖”这样的节点并直接解析字符串。
【问题讨论】:
-
请用您使用的语言标记问题。
标签: c# html parsing html-parsing