Получить значение HTML, которого нет в теге в c # - PullRequest
1 голос
/ 24 октября 2010

У меня есть строка HTML, которая имеет следующую форму:

<tr valign="top"><td colspan="2"  style="padding-bottom:5px;text-align: left"><label for="base_1001013" style="margin-bottom: 3px; float: left">Nom d'utilisateur:&nbsp;</label><span style="float: right;"><input class="PersonalDetailsClass" type="text" name="base_1001013" id="base_1001013" value="" /></span></td></tr>  

(извините за форматирование ..)

В любом случае мне нужно получить значение, которого нет в теге,ie- Nom d'utilisateur (без "", но это пренебрежимо мало).

Количество тегов и их значения также могут различаться - количество слов в запрашиваемой строке и даже их язык также могут различаться.

Я не уверен, является ли это вопросом регулярного выражения, вопросом XML или вопросом о функциях манипуляции строками ac # (не имеют особых предпочтений) .. Но я предпочитаю , а не ссторонний dll (как я видел, иногда используется для разбора HTML в c #).

Как мне получить значение?

Спасибо.

1 Ответ

2 голосов
/ 24 октября 2010

Вы должны использовать HtmlAgilityPack , а затем получить текстовое значение строки. Это исключит все элементы HTML во фрагменте.

var doc = new HtmlDocument();
doc.LoadHtml( stringWithHtml );
var element = doc.DocumentNode.ChildNodes["tr"];
var text = element.InnerText;

Обратите внимание, что вам может понадобиться поиграться с переходом к нужному элементу в зависимости от вашего фактического HTML.

...