Мне нужно выбрать узел, который имеет определенное значение:
<td class='formlabel'>Name:</td>
Поэтому у меня есть что-то вроде этого:
HtmlNode selectedNote = html.DocumentNode.SelectSingleNode("//td[@class='formlabel'][starts-with(., 'Name:')]");
Это работает. Но проблема в том, что это выбор с запуском - так, например, если у меня есть такой код:
<td class='formlabel'>Name: some text</td>
Он также будет выбирать узел. Мне нужно что-то, что будет выбирать узел, только если это существует
<td class='formlabel'>Name:</td>
Таким образом, он будет выбирать узел, который имеет только innerText, равный «Name:»
Хм ... Это возможно. Большое спасибо.
Я считаю, что вы хотите:
HtmlNode selectedNote = html.DocumentNode.SelectSingleNode("//td[@class='formlabel'][text()='Name:']");
Или
HtmlNode selectedNote = html.DocumentNode.SelectSingleNode("//td[@class='formlabel'][.='Name:']");