1
我目前正在嘗試分析從一個HTML文檔基於鏈路關閉標題上方,但無論我怎麼努力,該程序是無法找到它。 這裏是方法我不工作:如何找到在HTML鏈接一定的頭下,並解析它
public string findMajorURL(string collegeURL, string major)
{
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(collegeURL);
var root = doc.DocumentNode;
var htmlNodes = root.Descendants();
//Find html node containing the major heading
foreach(HtmlNode node in htmlNodes)
{
if (node.InnerText == major)
{
HtmlNode target = node.NextSibling;
List<string> links = target.Descendants("a").Select(a => a.Attributes["href"].Value).ToList();
return links.First()+ "__IT WORKED__";
}
}
return "Major not found";
}
這是HTML的樣子,我嘗試分析:
<div style="padding-left: 20px">
<h3 id="ent1629">Biological Sciences </h3>
<a href="preview_entity.php?catoid=5&ent_oid=1629&returnto=818">Go to information for this department.</a>
<br>
<p>...</p>
<div id="data_c_1629" style="display: none">...</div>
<!--script language="javascript">hideshow(data_c_1630)</script-->
主要用戶輸入應該匹配標題,生物科學。基於關閉標題的,我想要得到的鏈接下它,在這種情況下是preview_entity.php catoid = 5 & ent_oid = 1629 & returnto = 818
警告:我不能使用XPath的任意不等階我有Visual Studio的版本,所以我假設使用LINQ莫名其妙地是最好的方式去,但我不知道。
編輯事實證明,內部文本不匹配的主要,但是,我不明白這是可能的,因爲我直接從HTML代碼。任何想法,以什麼是錯的?
我想這一點,但顯然它甚至沒有進入if語句:/我不明白爲什麼內的文本不匹配起來,因爲我甚至把內文本直接來自html文檔,但它仍然不匹配。 –