Preserve space with HtmlAgilityPack

I am trying to highlight text in an html line using the Html Agility Pack . I can replace the text with <span class="highlight"> , but when I replace the text, the empty space around the span tag will disappear. For example, if the text "This text will be highlighted" , it appears as "This text will be<span class='highlighted'>highlighted</span>" , and a space before the span tag. This combines the words before and after the span with the range text. I just do a recursive loop:

  • Get the first child node
  • if node #text than node.InnerHtml = InnerText.Replace(search_term, span_code)
  • if node has a node child go to step 1
  • go to the next brother, go to step 1

Then I get InnerHtml of HtmlDocument . I tried putting a space before <span and after </span> , but he deleted them. I tried HtmlDocument.OptionWriteEmptyNodes = true; He didn't work either. I replaced all the characters "\n" and "\t" space before creating the HtmlDocument and after receiving the html string, and this did not affect any of them.

How to save a space when using the Html Agility Pack?

+4
source share
1 answer

Actually HtmlDocument.OptionWriteEmptyNodes = true; did what i want. I get it now.

+3
source

All Articles