Хорошо, я здесь, как я могу удалить родительский узел и заменить его своим дочерним?Удалить родительский узел, но сохранить пакет htmlagility для дочерних узлов?
Моя цель - удалить исходящие ссылки из изображений. Я не хочу удалять нормальные ссылки из документа, просто удаляю те, которые делают изображение в ссылку, сохраняя изображение неповрежденным. Пример:
<a href="http://www.w3schools.com"><img src="logo_w3s.gif"></a>
Должны быть заменены и стали:
<img src="logo_w3s.gif">
Вот мой код, который не работает, но я чувствую, приближается:
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(maintext);
dynamic allimages = doc.DocumentNode.Descendants("img").ToList;
if (scrapeimages.Checked) {
//the user does want images scraped. Remove image outbound links
try {
foreach (void n_loopVariable in allimages) {
n = n_loopVariable;
if (n.ParentNode.Name == "a") {
dynamic outer = n.OuterHtml;
dynamic newnode = HtmlNode.CreateNode(outer);
n.ParentNode.ReplaceChild(n.ParentNode, newnode);
}
}
maintext = doc.DocumentNode.OuterHtml;
} catch {
}
}
Btw Я использовал конвертер для преобразования этого из Vb.net в C#, так что если есть странные ошибки, которые, вероятно, почему. –
Проверьте мой ответ и скажите мне, помогли ли вы. – mybirthname
Черт возьми, да. Я бы никогда не подумал сделать так. Спасибо! –