2015-07-31 2 views
0

У меня проблема. Я научился редактировать html-документ в простой программе на C#, но у меня есть вопрос.Простой код для замены div на C#

У меня есть строки кода в HTML так:

<div role = "banner" class = "TopBanner"> 

Я хочу изменить эту строку кода в этом:

<div role = "banner" class = "TopBanner" style = "display:none;"> 

я пытаюсь использовать

 HtmlElementCollection ElemCol= default(HtmlElementCollection); 
     ElemCol= webBrowser.Document.GetElementsByTagName("div"); 
     foreach (HtmlElement curElement in ElemCol) 
     { 
      if (curElement.OuterHtml.Contains("TopBanner")) 
      { 
       curElement.Style = "display:none"; 
      } 
     } 

но не работает. мой код просто установил display в none и не заменил div новым текстом. Любые идеи для замены div?

+0

Попытка понять лучше, когда вы запускаете код, работает ли это до тех пор, пока 'div' больше не отображается? Вы просто не видите, что он был изменен в HTML? – WhiteHat

ответ

1

Попробуйте использовать SetAttribute

 if (curElement.OuterHtml.Contains("TopBanner")) 
     { 
       curElement.SetAttribute("style", "display:none");= ""; 
     } 
2

Попробуйте этот код:

HtmlElementCollection ElemCol= default(HtmlElementCollection); 
ElemCol= webBrowser.Document.GetElementsByTagName("div"); 
foreach (HtmlElement curElement in ElemCol) 
{ 
    if (curElement.GetAttribute("class").Contains("TopBanner")) 
    { 
     curElement.SetAttribute("style", "display:none"); 
    } 
} 
+0

это похоже на мой код. обрабатывается для другого div, но я не могу удалить этот баннер только в том случае, если я заменяю div div: none, note in style. – RedoColor

+0

Не понимайте, что вы имеете в виду, но в дополнение к заданному стилю элемента вы должны попытаться установить весь свой HTML-код с использованием свойства OuterHtml, заменив строку «TopBanner» ранее. Второй подход может заключаться в том, чтобы удалить элемент htmlElement из элемента Parent. –

1

Я думаю, что вы хотите использовать setAttribute

curElement.setAttribute("style", "display:none") 
0

Если это то, что вы делаете много в вашей программе (HTML-манипуляции), вы можете захотеть взглянуть на такой проект, как CsQuery. Это может дать вам гораздо лучший контроль над такими вещами. Если это только что-то сделано несколько раз, полная сборка может быть излишней.

Смежные вопросы