html 敏捷部分选择

html agility section selecting

我需要在 2 个部分标签之间获取 HTML,如下所示:

<section class="image-section">
//images here...
</section>

我正在使用 HTML Agility 来执行此操作,尽管这可行:

HtmlNode sec = document.DocumentNode.SelectNodes("//*[@class='image-section'")

但这不是。我如何获得我想要的 HTML 片段?

假设我们有以下 html:

<!DOCTYPE html>
<html>
   <body>
      <h1>Test</h1>
      <section class="image-section">
         <img src="image1.jpg">
         <img src="image2.jpg">
      </section>
   </body>
</html>

这是一个代码:

class Program
    {
        static void Main(string[] args)
        {
            var html = File.ReadAllText(@"d:/my.html");

            var htmlDoc = new HtmlDocument();
            htmlDoc.LoadHtml(html);

            HtmlNodeCollection sections = htmlDoc.DocumentNode.SelectNodes("//*[@class='image-section']");
            var section = sections.FirstOrDefault();
            if (section != null)
            {
                foreach (var imgElement in section.Elements("img"))
                {
                    Console.WriteLine(imgElement.OuterHtml);
                }
            }

            Console.ReadKey();
        }
    }

输出:

<img src="image1.jpg">
<img src="image2.jpg">