Ответ 1
Используйте File.ReadAllText, передавая местоположение файла в качестве аргумента.
Однако, если ваша реальная цель - анализ html, я бы порекомендовал использовать Html Agility Pack.
Если у меня есть файл HTML на диске, как я могу прочитать все это сразу в переменной String во время выполнения? Затем мне нужно выполнить некоторую обработку этой строковой переменной.
Некоторые html файлы:
<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>
Используйте File.ReadAllText, передавая местоположение файла в качестве аргумента.
Однако, если ваша реальная цель - анализ html, я бы порекомендовал использовать Html Agility Pack.
Используйте System.IO.File.ReadAllText(fileName)
string html = File.ReadAllText(path);
В основном это уже рассмотрено, но одно дополнение, когда я столкнулся с проблемой с предыдущими образцами кода.
Dim strHTML as String = System.IO.File.ReadAllText(HttpContext.Current.Server.MapPath("~/folder/filename.html"))
Используйте File.ReadAllText(path_to_file)
для чтения
Какую обработку вы пытаетесь сделать? Вы можете сделать XmlDocument doc = new XmlDocument();
, а затем doc.Load(filename)
. Затем XML-документ может быть проанализирован в памяти.
Читайте здесь для получения дополнительной информации о XmlDocument:
Вы можете сделать это простым способом:
string pathToHTMLFile = @"C:\temp\someFile.html";
string htmlString = File.ReadAllText(pathToHTMLFile);
Или вы можете передать его с помощью FileStream/StreamReader:
using (FileStream fs = File.Open(pathToHTMLFile, FileMode.Open, FileAccess.ReadWrite))
{
using (StreamReader sr = new StreamReader(fs))
{
htmlString = sr.ReadToEnd();
}
}
Этот последний метод позволяет открывать файл, в то же время позволяя другим выполнять операции чтения/записи над файлом. Я не могу представить, чтобы файл HTML был очень большим, но он обладает дополнительным преимуществом потоковой передачи файла вместо того, чтобы захватывать его как один большой фрагмент, как в первом методе.