タグ

*javaとhtmlに関するurza358のブックマーク (4)

  • Javaで実装されたHTMLパーサの性能や使い勝手を比べてみるよん

    XSS対策として入力値チェックライブラリを考えているんですが、入力値としてHTMLを許可する場合、これを解析してなんとかならんもんかと思ってたりします。 JavaHTMLパーサ XMLスキーマとかも使えそうなもんですが、柔軟になる分、ユーザはXMLスキーマの書き方を覚えなければならないわけで、いろんなチェックを、フィルタを通すように使える設計で作っておいて、「IE8がでたー!」となったときでも「IE8Filter」を追加で作って、フィルタに追加するだけー・・・とかにしようかと。 調べてみると、いがぴょんさんのJavaで実装された HTML Parser (HTMLパーサ) を調べてみましたがとても素敵です。これにパフォーマンスとか、使い勝手を加えてまとめてみます。 今回、Google先生や、いがぴょんさんも言及しているOpen Source HTML Parsers in Javaから、

    Javaで実装されたHTMLパーサの性能や使い勝手を比べてみるよん
  • Javaの「制御文」を使いこなす

    前回「プログラムの制御構造を理解しよう」までで、Javaではif、switchなどの制御文を使って制御構造を記述できることを学びました。簡単におさらいすると、制御構造とはプログラムを「順番に実行する」「条件が合致すれば実行する」「繰り返して実行する」という3つのパターンのことであり、制御文とは制御構造を実際にプログラムとして記述するときに使うif、switchなどの文のことでした。 制御文を使いこなす 制御文まで学習すると、ソースコードを読んでおおよその流れや何をしようとしているプログラムなのかは理解できるようになります。来ならここでクラスについての理解をさらに深めたいところです。しかし、今回はJavaでアルゴリズムを記述して、制御文の使い方にさらに慣れることにします。というのも、今後Javaのクラスの継承について説明するうえで、今回作成するHTML文書を扱うクラスを題材にしたいからです

    Javaの「制御文」を使いこなす
  • HTMLファイルやXMLファイルを読み込む(Javaマスター)

    HTMLファイルやXMLファイルなどを読み込んで内容を解析することができる格的なライブラリは たくさんありますが、ここでは、簡易型のHTML/XMLパーサをご紹介します。 (以下、XMLという記述を省略しますが、XMLファイルも処理することができます。) まず、HTMLを構成する「タグ」をTagクラスにて定義します。 このTagクラスでは、タグというものを以下のような構造であると仮定しています。 <タグ名 属性名1=属性値1 属性名2=属性値2 ・・・> テキスト・・・ 終了タグ(「</html>」など)は、 タグ名がスラッシュ(/)で始まり、 テキストや属性を持たないタグであると考えます。 package samples.string.html; public class Tag { private String tagStr; private String tagName; priv

  • think or die: HTML変換処理処理

    ちょっと必要があって久しぶりにJavaプログラミングをやっている。内容はテキストのバッチ処理で、このWebサイトのHTML文書のフォーマットを一括変換するという、半年に一回ぐらいは気が向いて行う処理だ。JavaAPIをあさると便利なクラスを発見する楽しみがある。今回は筆者が新たに学んだクラスについて、Javaプログラマーの皆さんの一助になればと思い書いてみた。 今まではローカルにあるHTMLファイルを読込みながら変換していたが、今回はWebサーバに直接httpプロトコルで接続して、HTMLファイルをダウンロードしながら変換する方式にした。Javaプログラムからhttpプロトコルで通信する方法はとても簡単だ。 URL url = new URL("http://www.hogehoge.com/index.htm"); BufferedReader br = new BufferedRea

  • 1