2011-08-18 78 views
0

特定的div假設一個巨大的文本數據存儲在字符串變量一樣提取從字符串

<form method="post" action="../Dialog.aspx" id="ctl00"> 
    <div class="aspNetHidden"> 
     <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUBMGRkcTeMEXjXlquwdmAmnkFVfUymwaaSdYr/CV1hV+mxr6A=" /> 
</div> 


<div id="frm"> 
    <table class="form" border="0" cellpadding="0"> 
     <tr> 
      <td class="labeltag">Name:</td> 
      <td class="inputtd"> 
       <input name="ctl01$txtName" type="text" maxlength="100" id="ctl01_txtName" class="inputfield" /> 
      </td> 
     </tr> 
     <tr> 
      <td class="labeltag">Subject:</td> 
      <td class="inputtd"> 
       <input name="ctl01$txtSubjectject" type="text" maxlength="100" id="ctl01_txtSubjectject" class="inputfield" /> 
      </td> 
     </tr> 
     <tr> 
      <td class="labeltag">Email:</td> 
      <td class="inputtd"> 
       <input name="ctl01$txtEmail" type="text" maxlength="100" id="ctl01_txtEmail" class="inputfield" /> 
      </td> 
     </tr> 
     <tr> 
      <td class="textfield" colspan="2"> 
       Message: 
       <div class="messagefield"> 
        <textarea name="ctl01$txtmessage" rows="7" cols="33" id="ctl01_txtmessage" class="message"> 
        </textarea> 
       </div> 
      </td> 
     </tr> 
     <tr> 
      <td colspan="2"> 
       <input type="submit" name="ctl01$btnSubmit" value="Submit" id="ctl01_btnSubmit" class="button" /> 
       <input type="submit" name="ctl01$btnCancel" value="Cancel" id="ctl01_btnCancel" class="button" /> 
     </td> 
     </tr> 
     <tr> 
      <td colspan="2" style="height:10px"></td> 
     </tr> 
     <tr> 
      <td colspan="2"> 
       <div class="bottomline" id="loader"> 

       </div> 
      </td> 
     </tr> 
    </table> 
</div> 
<div class="aspNetHidden"> 
    <input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWBwKni+1oAuj1kf0MAoWeuckCAqCHyBsC34bOwQQC1cvcnQsC67K1+giML7QhoV19G+plAUvDQ7ade0566ipNfJ+BXR02JW5IIQ==" /> 
</div> 

從上面的數據我只需要提取particlular DIV已經被稱爲「FRM」。

因此整個div及其內容將被提取。我知道這可以用正則表達式來完成,但我不知道哪個模式適用於我的情況。

我使用的代碼來提取一個特定的div像

Regex search_string = new Regex("<div.*?id=\"frm\".*?>.*</div>"); 
     Match match = search_string.Match(outputToReturn); 
     string section = match.Groups[0].Value; 

但部分無關....比賽未找到。所以如何去做。 所以請幫助。謝謝

+0

表單標籤是否關閉?我想使用Xml,但它是無效的:(。 –

回答

0

它看起來像你的字符串包含HTML文檔。在這種情況下,你真的應該使用HTML解析器(有很多取決於語言)。 我知道的一個是HtmlAgilityPack。

+0

我不能使用正則表達式嗎? – Thomas

+0

HtmlAgilityPack是炸彈。 –

+0

即使Chuck Norris也不能使用RegEx解析HTML http://stackoverflow.com/questions/1732348 /正則表達式匹配開放標籤,除了-XHTML-自足標籤 –