2
我有一些使用HTML敏捷包的代码。我想要做的是,替换html内容中的所有链接。HTML敏捷包替换链接
例如:我将代替
http://oldserver/Documents/1.pdf
到
http://newserver/Documents/2.pdf
我可以枚举所有链接,并能得到他们的价值观,但是当我做doc.Save()它保存原始的HTML源。不是更新的HTML。我怎样才能从HtmlDocument获得更新的HTML。
private string FixHyperlinks(string contentHtml, SPWeb web)
{
TextReader reader = new StringReader(contentHtml);
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.Load(reader);
List<string> hrefTags = new List<string>();
foreach (HtmlNode link in doc.DocumentNode.SelectNodes("//a[@href]"))
{
HtmlAttribute att = link.Attributes["href"];
att.Value = RepairHyperlinkAddress(att.Value, web);
}
MemoryStream memoryStream = new MemoryStream();
doc.Save(memoryStream);
memoryStream.Seek(0, System.IO.SeekOrigin.Begin);
StreamReader streamReader = new StreamReader(memoryStream);
string result = streamReader.ReadToEnd();
return result;
}
Actuallymy问题不是。我故意只做href。 – ozdogan
然后,你应该发布的HTML,所以我们可以进一步检查的东西。 –