Получить содержимое кода HTML с помощью HtmlAgilityPack - PullRequest
0 голосов
/ 28 марта 2020
    <html>
        <body>
          <div>
            <div>
               <div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
                <p class="MsoNormal"></p>
                </div>
            </div>
           </div>
         </body>
    </html>

У меня есть html код выше. Как я могу получить содержимое без тега <html><body> и удалить <div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">?

Это означает, что мой результат, который я хочу:

          <div>
            <div>                   
                <p class="MsoNormal"></p>

            </div>
           </div>

1 Ответ

1 голос
/ 28 марта 2020

Вот пример кода.

var doc = new HtmlDocument();
doc.Load("..\\..\\h.html");
HtmlNode body = doc.DocumentNode.SelectNodes("//body")[0];
HtmlNode div1 = body.FirstChild;
while (div1.NodeType != HtmlNodeType.Element)
    div1 = div1.NextSibling;
HtmlNode div2 = div1.FirstChild;
while (div2.NodeType != HtmlNodeType.Element)
    div2 = div2.NextSibling;
HtmlNode div3 = div2.FirstChild;
while (div3.NodeType != HtmlNodeType.Element)
    div3 = div3.NextSibling;

var div3_p = div3.SelectNodes("//p")[0];
div2.ReplaceChild(div3_p, div3);

doc.DocumentNode.InnerHtml = body.InnerHtml;
//or doc.DocumentNode.RemoveAllChildren(); doc.DocumentNode.AppendChild(div1);

doc.Save("..\\..\\h2.html");
...