我在使用 HTML Agility Pack 时遇到问题。我有一个 html 文件。我所做的就是使用 HtmlDocument 实例加载该文件,并替换文档中图像的 url。下面给出的是使用的代码:
HtmlDocument htmlDoc = new HtmlDocument();
htmlDoc.OptionFixNestedTags = true;
htmlDoc.Load(filePath);
HtmlNodeCollection images = htmlDoc.DocumentNode.SelectNodes("//img");
string source;
string imageName;
string newSource;
if (null != images && 0 < images.Count)
{
foreach (HtmlNode image in images)
{
source = image.Attributes["src"].Value;
imageName = Path.GetFileName(source);
newSource = imageUris[imageUris.IndexOf(imageName)];
if (null != newSource)
{
image.Attributes["src"].Value = newSource;
}
}
}
htmlDoc.Save(filePath);
问题是 Html 文档包含一个空复选框和一个使用wingdigns 字体创建的带有“x”的复选框。保存文件后,带有“x”的复选框变成了一些奇怪的字符,例如向左的箭头,然后是圆圈中的 1,然后是时钟和带有 ~ 的数字 A。空复选框也会发生类似的情况。
有人可以建议一些解决方案来保留复选框吗?