c #: HtmlAgilityPack Потомки

c# html html-agility-pack

Вопрос

Добрый день. У меня есть задача, когда мне нужно преобразовать документ слова в html.

Это можно сделать с помощью interop и сохранить документ как html. Но мне нужно очистить вывод html interop

Но у меня проблема с htmlagilitypack. Я думал, что это похоже на XmlDocument c #

это мой код c #

HtmlDocument doc = new HtmlDocument();
doc.Load(htmlLocation);
      foreach (var item in doc.DocumentNode.Descendants("p"))
      {

      if (item.HasChildNodes)
          {
             foreach (var itm in item.Descendants("span").ToList())
                {
                   Console.WriteLine(itm.InnerText);
                }
          }
      }

Это html-код

<html>

<head>
<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
<meta name=Generator content="Microsoft Word 12 (filtered)">

</head>

<body lang=EN-US link="#0066CC" vlink=purple style='text-justify-trim:punctuation'>

<div class=WordSection1>

<p class=Heading61 style='margin-bottom:0in;margin-bottom:.0001pt;text-indent:
.5in;line-height:normal;page-break-after:avoid;background:transparent'><span
class=Heading6><span style='font-size:12.0pt;color:black;background:yellow'>Epilogue</span></span></p>

<p class=MsoBodyText style='line-height:normal;background:transparent'><span
class=BodytextItalic2><span style='font-size:12.0pt;color:black;font-style:
normal'>&nbsp;</span></span></p>

<p class=MsoBodyText style='line-height:normal;background:transparent'><span
class=BodytextItalic2><span style='font-size:12.0pt;color:black;font-style:
normal'>Rebecca sat outside her lodge cradling her infant son in her arms. How
handsome he was, her little warrior, with his dusky skin and thick black hair.
For the first few days after his birth, she had been afraid to let him out of
her sight, out of her arms, for fear she would lose him, but he was a strong
healthy child.</span></span></p>

<p class=MsoBodyText style='text-indent:.5in;line-height:normal;background:
transparent'><span class=BodytextItalic2><span style='font-size:12.0pt;
color:black;font-style:normal'>Looking at him made her heart swell with love
for him and for his father. She had married Wolf Dreamer the day after they
returned to his people. Summer Moon Rising had left the village the following
day.</span></span></p>

</div>

</body>

</html>

это вывод кода выше

Epilogue
Epilogue
&nbsp;
&nbsp;
Rebecca sat outside her lodge cradling her infant son in her arms. How
handsome he was, her little warrior, with his dusky skin and thick black hair.
For the first few days after his birth, she had been afraid to let him out of
her sight, out of her arms, for fear she would lose him, but he was a strong
healthy child.
Rebecca sat outside her lodge cradling her infant son in her arms. How
handsome he was, her little warrior, with his dusky skin and thick black hair.
For the first few days after his birth, she had been afraid to let him out of
her sight, out of her arms, for fear she would lose him, but he was a strong
healthy child.
Looking at him made her heart swell with love
for him and for his father. She had married Wolf Dreamer the day after they
returned to his people. Summer Moon Rising had left the village the following
day.
Looking at him made her heart swell with love
for him and for his father. She had married Wolf Dreamer the day after they day.

то, что я ожидаю, является вторым для каждого, зависит от элементов элемента. но почему он повторяет текст?

Популярные ответы

У вас есть 4 p-тега, и каждый тег имеет два пролета. Потомки, получает все узлы-потомки с соответствующим именем, поэтому ваш внутренний foreach повторяет для двух пролетов

ваш внутренний foreach может быть

    foreach (var itm in item.ChildNodes)
    {
      Console.WriteLine(itm.InnerText);
    }


Related

Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow