Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用HtmlAlityPack从Html片段中提取Html元素?_C#_Html_Code Snippets - Fatal编程技术网

C# 如何使用HtmlAlityPack从Html片段中提取Html元素?

C# 如何使用HtmlAlityPack从Html片段中提取Html元素?,c#,html,code-snippets,C#,Html,Code Snippets,以下是Html代码: <table style="border:1px solid #000"> <tr style="background:#ddd;"> <td width="150">TableEle1</td> <td width="150">TableEle2</td> <td width="150">TableEle3</td> <td width

以下是Html代码:

<table style="border:1px solid #000">
  <tr style="background:#ddd;">
    <td width="150">TableEle1</td>
    <td width="150">TableEle2</td>
    <td width="150">TableEle3</td>
    <td width="150">TableEle4</td>
    <td width="150">TableEle5</td>
    <td width="150">TableEle6</td>
    <td width="150">TableEle7</td>
    <td width="150">TableEle8</td>
  </tr>

有什么建议吗?

您可以混合使用HtmlAgilityPack和Linq来获得所需的td节点

HtmlDocument document = new HtmlDocument();            
document.LoadHtml("[your HTML string]");            
var node = document.DocumentNode.SelectNodes("//td/text()");
var tdNode = node.Where(s => s.InnerText == "TableEle1").Select(s => s);

希望这有帮助

还有一个问题,如果我的html文件中有多个类似于上表的表,我如何让我的代码只在第一个表中查找td元素。如果您首先对我的答案进行投票,请感谢。指定id以获得所需的简单表,例如//table[@id='theTableId']问题是所有表都是相同的,只是表元素不同,没有表ID,因为UpVote的最小代表权限是15,所以现在我不能这样做。每当我获得15次代表权时,我会立即回到你的岗位;)
HtmlDocument document = new HtmlDocument();            
document.LoadHtml("[your HTML string]");            
var node = document.DocumentNode.SelectNodes("//td/text()");
var tdNode = node.Where(s => s.InnerText == "TableEle1").Select(s => s);