44

ディスク上に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>
4

8 に答える 8

64

File.ReadAllTextを使用して、ファイルの場所を引数として渡します。

ただし、本当の目標がhtmlの解析である場合は、HtmlAgilityPackを使用することをお勧めします。

于 2012-08-29T18:07:01.483 に答える
21

使用するSystem.IO.File.ReadAllText(fileName)

于 2012-08-29T18:07:04.107 に答える
17
string html = File.ReadAllText(path);
于 2012-08-29T18:07:29.067 に答える
12

これはほとんどすでにカバーされていますが、前のコードサンプルで問題が発生したときに1つ追加しました。

Dim strHTML as String = System.IO.File.ReadAllText(HttpContext.Current.Server.MapPath("~/folder/filename.html"))
于 2014-10-21T12:57:44.687 に答える
5

File.ReadAllText(path_to_file)読むために使用する

于 2012-08-29T18:10:34.413 に答える
4

どんな処理をしようとしていますか?XmlDocument doc = new XmlDocument();後に続くことができますdoc.Load(filename)。次に、XMLドキュメントをメモリ内で解析できます。

XmlDocumentの詳細については、こちらをお読みください。

于 2012-08-29T18:09:56.383 に答える
4

あなたはそれを簡単な方法で行うことができます:

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ファイルが非常に大きいとは想像できませんが、最初の方法のように1つの大きなチャンクとしてキャプチャするのではなく、ファイルをストリーミングするという追加の利点があります。

于 2018-11-20T00:50:41.757 に答える
0
var htmlText = System.IO.File.ReadAllText(@"C:/filename.html");

そして、アプリケーションルートにファイルする場合は、以下のユーザー

var htmlText = System.IO.File.ReadAllText(HttpContext.Current.Server.MapPath(@"~/filename.html"));
于 2020-11-16T16:45:50.933 に答える