C#使用HtmlAgilityPack解析HTML结构
using System;
using HtmlAgilityPack;
class Program
{
static void Main()
{
string html = "<td>Value1</td><td>Value2</td><td>Value3</td>";
// 使用 HtmlAgilityPack 解析 HTML
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(html);
// 获取所有 <td> 元素
HtmlNodeCollection tdNodes = doc.DocumentNode.SelectNodes("//td");
//获取带有 align="left"
属性的 <td>
元素,可以使用 XPath 表达式来选择具有指定属性的元素。
// 获取所有带有 align="left" 属性的 <td> 元素 HtmlNodeCollection tdNodes = doc.DocumentNode.SelectNodes("//td[@align='left']");
// 获取所有带有 align="left" 属性且包含非空文本的 <td> 元素 HtmlNodeCollection tdNodes = //doc.DocumentNode.SelectNodes("//td[@align='left' and normalize-space(text())]");
// 获取指定表格下带有 align="left" 属性且包含非空文本的 <td> 元素
//HtmlNodeCollection tdNodes = doc.DocumentNode.SelectNodes("//table[@cellspacing='2' and @cellpadding='2' and @border='0' and @style='border-style:None;font-size:10pt;width:100%;']//td[@align='left' and normalize-space(text())]");
if (tdNodes != null)
{
// 输出每个 <td> 中的内容
foreach (HtmlNode tdNode in tdNodes)
{
string extractedValue = tdNode.InnerText;
Console.WriteLine("Extracted Value: " + extractedValue);
}
}
}
}