Html Agility Pack + Получить конкретный узел - PullRequest
2 голосов
/ 07 февраля 2011

Здравствуйте, у меня проблема с моим приложением.Мне нужно выбрать определенный текст между двумя узлами.

HTML-страница выглядит следующим образом

<td align="right" width="186">Text1</td>
<td align="center" width="51">? - ?</td>
<td width="186">Text2</td>`

Я могу выбрать Text1 и Text2 с помощью:

HtmlNodeCollection cols = doc.DocumentNode.SelectNodes("//td[@width='186']");<br />
foreach (HtmlNode col in cols)<br />
{
    if (col.InnerText == "Text1")
    {
        Label1.Text = col.InnerText;            
    }
}

Причина, по которой у меня есть условие if, заключается в том, что на странице больше тд.И мне нужно специально выбрать того, у кого есть «Text1».

Но проблема в том, как я могу разобрать текст «? -?»В документе есть больше текста, в котором также есть текст "? -?"но мне нужно выбрать именно то, что находится между двумя другими моими узлами ..

Результат должен быть Text1?-?Text2 и т.д ..

Я полагаю, это как-то связано со следующим ребенком или с сестрой и так далее?

1 Ответ

0 голосов
/ 07 февраля 2011

Вы можете проверить col.NextSibling.InnerText.

...