Получить содержимое Div с помощью регулярных выражений в C#

у меня есть этот HTML-код:

<div id="top" style="something i dont know">
Text
</div>

И я только хочу получить строку «Текст». Мой скрипт выглядит так:

Regex search_string = new Regex("<div id=\"top\".*?>([^<]+)</div>");
Match match = search_string.Match(code);
string section = match.Groups[0].Value;
MessageBox.Show(section);

Возможно ли это даже с С#?


person sevi    schedule 04.02.2011    source источник
comment
возможный дубликат Extract Content from Div Tag C# RegEx   -  person Jim Mischel    schedule 04.02.2011
comment
Разбор HTML с помощью регулярных выражений, как правило, плохая идея. См. stackoverflow.com/questions/ 4775265/ и многие другие.   -  person Jim Mischel    schedule 04.02.2011


Ответы (2)


используйте XPath, это намного проще

http://www.codeproject.com/KB/cpp/myXPath.aspx

используйте это как селектор xpath

//div[@id='top']

тогда вы можете получить внутреннее значение

person Bonshington    schedule 04.02.2011

Вам лучше использовать XPath, как упоминалось ранее. Чтобы иметь возможность работать с HTML так же, как с XML, вы можете использовать HTML Agility Pack, который очень полезен для таких задач, как твой.

person EvgK    schedule 04.02.2011