• ベストアンサー

JSPファイルに書いたの各タグ情報を拾うには?

JSPファイルの中に書いたHTMLやカスタムタグの情報を拾って テキストファイルに書き込みたいと思っています。 実際にやりたいことは、<INPUT>タグや、カスタムタグ<hoge>に付与した、 name属性の値を列挙したいという様な内容です。 例)JSPファイルに以下の様な入力項目を記述   <INPUT type="text" name="hoge1" value="10">   <INPUT type="text" name="hoge2" value="10">    :     ↓   テキストファイルに   hoge1   hoge2    : テキストファイルに書き出すという部分は分かりますが、JSPファイルから 各タグを判別し、その中のname属性の値を取得する・・・という部分が どうやってやろうかと困っています。 XMLのパーサを利用して・・・と考えたりもしましたが、HTMLの各タグは エンドタグが決まって記述されている訳ではないため、利用出来ないかも? と思っています。 何か良いものがあればと思っていますが、見つけられず、通常にファイルを オープンして入力項目タグがあるかどうか、ひとつずつ調べるという方法しか 思い付いていません。 もし何か良い方法があれば是非教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
  • luckymako
  • ベストアンサー率55% (29/52)
回答No.2

全角スペースを取り除いて使用してください。 String strin = "入力ファイル"; Pattern pattern = Pattern.compile("<INPUT.*?(?:name\\s*=\\s*\"(.*?)\").*?>", Pattern.CASE_INSENSITIVE|Pattern.DOTALL|Pattern.MULTILINE); Matcher matcher = pattern.matcher(strin); while(matcher.find()){  System.out.println(matcher.group(1)); }

everfor
質問者

お礼

コーディング例を掲載していただき、ありがとうございました。 私自身、勉強して一度作ってみましたが・・・こちらの方がとても スマートになっているので、もっと勉強が必要だと痛感しました。 他にも正規表現を利用して色々とやってみたいことがあるので、 参考にさせていただきます。

その他の回答 (1)

  • _ranco_
  • ベストアンサー率58% (126/214)
回答No.1

そのJSPファイルがお手元にローカルにある、書き方も一定である、ということなら、「name属性の値を取得する」は、Javaの正規表現プログラミングの初心者練習課題としてちょうど良いと思います。私はあえてここにコードサンプルを書きませんから、ぜひご自分で挑戦してみてください。

参考URL:
http://java.sun.com/docs/books/tutorial/essential/regex/index.html, http://www.regular-expressions.info/
everfor
質問者

お礼

正規表現で行えばいいんですね。ありがとうございます。 また、参考のURLをありがとうございました。 早速勉強して、ある程度の判定が行える様になりました。

関連するQ&A

専門家に質問してみよう