0

我有以下文字

<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>

我想循环遍历它以获取每个 ul 标记和其中的 il 插入 ul 标记中的所有元素和数组中的每个 ul 标记

4

2 回答 2

2

用 RegEx 解析 html 是个坏主意。可能您应该考虑 DOM 解析器,例如Html Agility Pack

于 2012-04-11T09:30:52.480 回答
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();
}
于 2012-04-11T09:47:15.453 回答