#asp.net-mvc #vb.net #html #csquery
#asp.net-mvc #vb.net #HTML #csquery
Вопрос:
Я пытался использовать HtmlAgilityPack для обработки некоторого Html. Я решил также попробовать CsQuery.
Цель состоит в том, чтобы извлечь тег img и его src и повторно вставить его перед тегом h3.
Предположим, что html:
<div class="col-md-6">
<div class="item">
<div class="content galleryItem">
<h3>
Al Shabaab kill at least 29 in latest attacks on Kenyan coast
</h3>
<p> <img alt src="../../../../images/AlShabaab.jpg"></p>
<p>
Al Shabaab killed at least 29 people in two coastal areas of Kenya.</p>
</div>
</div>
</div>
Цель состоит в том, чтобы переместить изображение перед h3
Я использовал следующее, чтобы удалить стиль attr из тегов img:
Dim csq = CQ.Create(input)
Dim csstyle = csq("img")
Return csstyle.RemoveAttr("style")
Ответ №1:
Поскольку вы явно не отметили это VB.NET Я отвечу на C #, надеюсь, все в порядке:
var cq = CQ.create(input); // create the CsQuery source
var img = cq["img"]; // image here, img["src"] is its source
img.Remove().InsertBefore(cq["h3"]);// remove it, and add it in front of H3.
конечно, этот код может быть короче, но я хотел, чтобы код соответствовал вашему буквальному описанию.
Комментарии:
1. Думаю, не совсем сработало, потому что img обернуто тегами p, о которых я забыл упомянуть.
2. Для протокола Изменение вопроса после получения ответа считается несколько невежливым в Stack Overflow. Тем не менее, приведенный выше код все еще должен работать, и я только что протестировал его. Не забудьте выполнить рендеринг по завершении обработки.