昨年ラス日のこと:
えらいひと「あのさ、データからHTML起こしてよ」
えぴすてめ「データって、どんな形式なんす?」
えら「CSVなんだけどね」
えぴ「マンドクセーなー...XMLだったらXSLT書いてイッパツぢゃん」
えら「ちょいちょいと書いといてくんない? お休みだしー」
...忘れてた。全力で忘れてた。
HTML吐くのにテケトーなもんないかとMSDNをごそごそ漁り、
System.Web.UI.HtmlTextWriter ゆーのんをみつけた。
一升瓶抱っこしてスルメしゃぶりつつおためし。
static void Main() {
var writer = new HtmlTextWriter(new StreamWriter("trial.html"));
writer.RenderBeginTag("html"); // <html>
writer.RenderBeginTag("head"); // <head>
// attributeはRenderBeginTagに先立って。コレ重要。
writer.AddAttribute("http-equiv", "Content-Type");
writer.AddAttribute("content", "text/html; charset=utf-8");
writer.RenderBeginTag("meta"); // <meta ....>
writer.RenderEndTag(); // </meta>
writer.WriteLine();
writer.RenderBeginTag("title"); // <title>
writer.Write("おためし");
writer.RenderEndTag(); // </title>
writer.RenderEndTag(); // </head>
writer.WriteLine();
writer.RenderBeginTag("body"); // <body>
writer.RenderBeginTag("h1"); // <h1>
writer.Write("おためし");
writer.RenderEndTag(); // </h1>
writer.WriteLine();
writer.AddAttribute("href", "http://blogs.wankuma.com/episteme");
writer.RenderBeginTag("a"); // <a ... >
// "とか&のたぐいを &ほにゃらか; にとっかえてくれる♪
writer.WriteEncodedText("\"επιστημη\" & <東方算程譚>");
writer.RenderEndTag(); // </a>
writer.WriteLine();
writer.RenderEndTag(); // </body>
writer.WriteLine();
writer.RenderEndTag(); // </html>
writer.Close();
}
こんなのこさえてくれました。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>
おためし
</title>
</head>
<body>
<h1>
おためし
</h1>
<a HREF="/episteme">"επιστημη" & <東方算程譚></a>
</body>
</html>
上出来上出来...スルメ食いすぎ。アゴがダルいす。