2012-08-29 15 views
25

Se sul disco è presente un file HTML, come posso leggerlo tutto in una volta in una variabile String in fase di esecuzione? Quindi ho bisogno di fare un po 'di elaborazione su quella variabile stringa.Leggere un file HTML in una variabile stringa in memoria

Alcuni file html come questo:

<html> 
    <table cellspacing="0" cellpadding="0" rules="all" border="1" style="border-width:1px;border-style:solid;width:274px;border-collapse:collapse;"> 
     <COLGROUP><col width=35px><col width=60px><col width=60px><col width=60px><col width=59px></COLGROUP> 
     <tr style="height:20px;"> 
      <th style="background-color:#A9C4E9;"></th><th align="center" valign="middle" style="color:buttontext;background-color:#D3DCE9;">A</th><th align="center" valign="middle" style="color:buttontext;background-color:#D3DCE9;">B</th><th align="center" valign="middle" style="color:buttontext;background-color:#D3DCE9;">C</th><th align="center" valign="middle" style="color:buttontext;background-color:#D3DCE9;">D</th> 
     </tr><tr style="height:20px;"> 
      <th align="center" valign="middle" style="color:buttontext;background-color:#E4ECF7;">1</th><td align="left" valign="top" style="color:windowtext;background-color:window;">Hi</td><td align="left" valign="top" style="color:windowtext;background-color:window;">Cell Two</td><td align="left" valign="top" style="color:windowtext;background-color:window;">Actually a longer text</td><td align="left" valign="top" style="color:windowtext;background-color:window;">Final Word</td> 
     </tr> 
    </table> 
</html> 

risposta

34

Usa File.ReadAllText passando posizione del file come argomento.

Tuttavia, se il tuo vero obiettivo è quello di analizzare html, ti consiglio di utilizzare Html Agility Pack.

+3

Non dimenticare di controllare se il file esiste prima di leggere il file. :) – TGarrett

+0

grazie mille .. funziona bene –

15

Usa System.IO.File.ReadAllText(fileName)

10
string html = File.ReadAllText(path); 
3

Che tipo di trattamento che si sta cercando di fare? È possibile eseguire XmlDocument doc = new XmlDocument(); seguito da doc.Load(filename). Quindi il documento XML può essere analizzato in memoria.

Leggi qui per ulteriori informazioni su XmlDocument:

5

Usa File.ReadAllText(path_to_file) leggere

7

Questo è in gran parte coperto già, ma un'aggiunta, come mi sono imbattuto in un problema con i precedenti esempi di codice.

Dim strHTML as String = System.IO.File.ReadAllText(HttpContext.Current.Server.MapPath("~/folder/filename.html")) 
Problemi correlati