Web サーバーからダウンロードしたいファイル名を含む HTML ページがあります。サーバーからファイルをダウンロードする Web アプリケーションに渡されるリストを作成するには、これらのファイル名を読み取る必要があります。これらのファイル名には、ある程度の拡張子があります。
私はこのトピックについて掘り下げましたが、他に何も見つかりませんでした-
- 正規表現を使用して HTML を解析することはできません。
- HTML アジリティ パックを使用する
HTML ファイルから filename.ext のようなパターンを持つテキストを検索する方法は他にありませんか?
ファイル名を含むサンプル HTML -
<p class=3DMsoNormal style=3D'margin-top:0in;margin-right:0in;margin-bottom=:0in; margin-left:1.5in;margin-bottom:.0001pt;text-indent:-.25in;line-height:normal;mso-list:l1 level3 lfo8;tab-stops:list 1.5in'><![if !supportLists]> <span style=3D'font-family:"Times New Roman","serif";mso-fareast-font-family:"Times New Roman"'><span style=3D'mso-list:Ignore'>1.<span style=3D'font:7.0pt "Times New Roman"'>
</span></span></span><![endif]><span style=3D'font-family:"Times New Roman","serif"; mso-fareast-font-family:"Times New Roman"'>**13572_PostAccountingReport_2009-06-03.acc**<o:p></o:p></span></p>
アプリケーションやツールをダウンロードして使用することが許可されていないため、HTML Agility Packを使用できません。
これは他のロジックで達成できませんか?
これは私がこれまでに行ったことです
string pageSource = "";
string geturl = @"C:\Documents and Settings\NASD_Download.mht";
WebRequest getRequest = WebRequest.Create(geturl);
WebResponse getResponse = getRequest.GetResponse();
using (StreamReader sr = new StreamReader(getResponse.GetResponseStream()))
{
pageSource = sr.ReadToEnd();
pageSource.Replace("=", "");
}
var fileNames = from Match m in Regex.Matches(pageSource, @"[0-9]+_+[A-Za-z]+_+[0-9]+-+[0-9]+-+[0-9]+.+[a-z]")
select m.Value;
foreach (var s in fileNames)
Response.Write(s);
すべてのファイル名に「=」が含まれているため、ファイル名を取得できません。「=」の出現を削除するにはどうすればよいですかpageSource string
前もって感謝します
アキル