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">
我需要在 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">