2012-04-11 2 views
0

У меня есть следующий текстregex конкретные теги из текста?

<fieldset> 
<ul id="ContentPlaceHolder2_1g" class="profList column ui-sortable"> 
<legend class="group">المجموعه 1</legend> 
<li id="ContentPlaceHolder2_8">محمود حسن ابراهيم عبد الصمد</li> 
/ul></fieldset> 
    <fieldset> 
<ul id="ContentPlaceHolder2_2g" class="profList column ui-sortable"> 
<legend class="group">المجموعه 2</legend> 
<li id="ContentPlaceHolder2_9">محمود فتحى ابراهيم عبد الصمد</li> 
    <li id="ContentPlaceHolder2_10">احمد محسن احمد على</li> 
    <li class="" style="" id="ContentPlaceHolder2_3">احمد درويش محمود عباس</li> 
</ul> 
</fieldset> 

<fieldset> 
    <ul id="ContentPlaceHolder2_3g" class="profList column ui-sortable"> 
    <legend class="group">المجموعه 3</legend> 
<li id="ContentPlaceHolder2_11">محمد سيد محمد سيد</li> 
    </ul> 

</fieldset> 

Я хочу, чтобы перебрать его, чтобы получить каждый уль тег и интерлейкина внутри него inedd на все elemet в уль теге и каждый уль тег в массиве

+0

Посмотрите [спичечных RegEx открытых тегов, кроме XHTML автономных тегов] (http://stackoverflow.com/ вопросы/1732348/regex-match-open-tags-except-xhtml-self-contains-tags) – jtbandes

ответ

1

Использование HtmlAgilityPack

HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument(); 
doc.LoadHtml(html); 
var list = doc.DocumentNode.Descendants("ul") 
    .Select(n => n.Descendants("li").Select(li => new {id=li.Id,text=li.InnerText }).ToList()) 
    .ToList(); 

foreach (var ul in list) 
{ 
    foreach(var li in ul) 
    { 
     Console.WriteLine(li.id + " " + li.text); 
    } 
    Console.WriteLine(); 
} 
+0

ОК, как петля, чтобы извлечь идентификатор каждого il и текст в нем –

+1

@ahmednaguib см. ответ. Я обновил. –

+0

благодарю вас, но последнее, что я хочу получить il id, как foreach (var li in ul) {string id = li.id; Console.WriteLine (li); } как закодировать это в списке var –

2

Это плохая идея для анализа html с помощью RegEx. Может быть, вы должны принять во внимание DOM парсер, например Html Agility Pack

Смежные вопросы