2013-04-02 101 views
-5

我有一個html字符串被解析。 ResultsString正則表達式,子字符串htmlstring

  <table id="Table1"> 
      <tr> 
       <td width="50%"> 
       Result: <span style="font-weight:bold; color:GREEN;"></span> 
       </td> 
       <td width="50%"> 
        ID: <span style="font-weight:bold;">790043</span> 
       </td> 
      </table> 
     <table id="Table2"> 
      <tr> 
       <td class="name"> 
       Status: 
      </td> 
      <td class="value"> 
       None 
      </td> 
      </tr> 

     </table> 
<br /><br /> 
<a href="#" onclick="$('#vvvv').toggle();return false;" /></a> 
<br /> 
<div id="pp1" style="displa 
</div> 

我將如何提取/子只有在這兩個表標籤的文本。 所以我resuting HTML字符串將

<table id="Table1"> 
      <tr> 
       <td width="50%"> 
       Result: <span style="font-weight:bold; color:GREEN;"></span> 
       </td> 
       <td width="50%"> 
        ID: <span style="font-weight:bold;">790043</span> 
       </td> 
      </table> 
     <table id="Table2"> 
      <tr> 
       <td class="name"> 
       Status: 
      </td> 
      <td class="value"> 
       None 
      </td> 
      </tr> 

     </table> 

請建議

感謝ü

+4

忘記正則表達式並使用[HTML Agility Pack](http://htmlagilitypack.codeplex.com/) –

+2

[不要使用正則表達式與html](http://stackoverflow.com/a/1732454/580951)。改爲使用html解析器。 – Romoku

回答

0

如上所述,您應該使用HTML解析器,例如HTML Agility Pack。否則,你可能會雖然遇到問題,如果你有嵌套結構等

對於這個簡單的例子,你可以使用這個正則表達式:

string html = Regex.Match(ResultsString, 
          @"<table.+<\/table>", 
          RegexOptions.Singleline).Value; 

但同樣,只有當您輸入的字符串一樣簡單正如你向我們展示的!

+0

請不要告訴初學者使用Regex解析HTML;它從來都不合適。如果HTML確實如所聲稱的那麼簡單,那麼'String.Substring'就足夠了。如果這不夠,那麼這兩個都不是正則表達式。 –

+0

a)我明確建議使用解析器。 b)所以當它真的很簡單時,'Substring'可以,'Regex'不是?給我休息一下 –

0

要轉換爲HTML文件?這是一個XSLT工作。