В настоящее время я пытаюсь разобрать ссылку из 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 Withthe версия Visual Studio, которая у меня есть, поэтому я предполагаю, что использование LINQ каким-то образом будет лучшим способом, но опять же я не уверен.
EDIT Оказывается, что Внутренний текст не соответствует майору, однако я не вижу, как это возможно, поскольку я взял его непосредственно из html-кода. Любые идеи относительно того, что не так?
Я попытался это, но, видимо, даже не входя, если заявление:/Я не понимаю, почему внутренний текст не соответствует, потому что я даже взял внутренний текст непосредственно из html-документа, но он все еще не соответствует. –