C#使用HtmlAgilityPack解析HTML结构

发布时间:2023年12月18日

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);
? ? ? ? ? ? }
? ? ? ? }
? ? }
}
?

文章来源:https://blog.csdn.net/qq_33790894/article/details/135014208
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。