• ベストアンサー

DOMParserを使いたいのですが

こんにちは。 毎回初心者な質問で恐縮です。。 javaの中でXMLから特定のデータを抽出して表示したいのでインターネット上でサンプルがないか探していたところ、「アットマーク・アイティ」のホームページでちょうどよいものを見つけたのでそれを参考に作成しはじめたのですが、 DOMParser parser = new DOMParser(); という記述があり、ここでコンパイルがとまってしまいます。 import org.apache.xerces.parsers.*; がなかったのかと思い、記述を追加したところ今度は「パッケージは存在しません」と言われてしまいます。 jarファイルが足りないのかと調べていたのですが、このパッケージを使うために何が必要なのか参考資料がみつかりません。 「xerces」や「Parser」で調べたところ、自分のTOMCATのフォルダ内の\common\endorsedのフォルダ内に「xercesImpl.jar」「xmlParserAPIs.jar」がありました。 何がたりないのかご存知の方、教えてください。 よろしくお願いいたします。

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

  • ベストアンサー
  • hrykhsmt
  • ベストアンサー率50% (5/10)
回答No.1

こんばんは。 @IT「Javaで実現するDOM/SAXプログラミング」 http://www.atmarkit.co.jp/fxml/rensai/xmljava01/xmljava04.html 上記のページによると「xerces.jar」を クラスパスに設定するとあります。 http://xml.apache.org/dist/xerces-j/ から「Xerces-J-bin.1.4.4.zip」をダウンロードして 解凍すると「xerces.jar」がありますので、 こちらを暮らすパスに設定すればコンパイルは 通ると思います。

tropical-flower
質問者

お礼

お礼が大変遅くなり申し訳ありません。 参考URL、大変参考になりました! 無事作成できました。 ありがとうございました!!

その他の回答 (3)

回答No.4

「xercesImpl.jar」「xmlParserAPIs.jar」でいいと思います。 jar tvf xmlParserAPIs.jar で見れば、含まれているのがわかります。 コンパイル時のクラスパスに追加すればいいです。 「xerces.jar」は古いバージョンだったかと思います。 ただ、私も特別なことをしないときはatonさんの書かれているDocumentBuilderFactory経由です。そちらに慣れているというだけで、DOMParserでもいいんですけど。

tropical-flower
質問者

お礼

お礼が大変遅くなり、申し訳ありません。 古いバージョンとのことで、調べ中です。 参考になりました、ありがとうございます!

  • aton
  • ベストアンサー率47% (160/334)
回答No.3

Javaの標準ライブラリーに DOMParser というクラスはないはずです。 代わりに javax.xml.parsers.DocumentBuilderFactory と javax.xml.parsers.DocumentBuilder を組み合わせると同等のことが実現できます。 Javaの標準ライブラリーに含まれないクラス(例えば org.apache.xerces.parsers.DOMParser)を利用する場合は,それらがjavacやjavaから「見える」ようにしてやる必要があります。 具体的には,javacやjavaがライブラリーを検索する範囲に,org.apache.xerces.parsers.DOMParserのクラスファイル(を含むjarファイルでも可)が存在していなくてはなりません。 そのための方法の一つは,ライブラリー検索範囲=クラスパスをorg.apache.xerces.parsers.DOMParserのクラスファイル(を含むjarファイル)が存在する場所を含むよう拡張すること, http://java.sun.com/j2se/1.4/ja/docs/ja/tooldocs/solaris/javac.html javac - Java プログラミング言語コンパイラ http://java.sun.com/j2se/1.4/ja/docs/ja/tooldocs/solaris/classpath.html クラスパスの設定 もう一つは,標準的なライブラリー検索範囲(例えば ${JAVA_HOME}/lib/ext )に,org.apache.xerces.parsers.DOMParserのクラスファイル(を含むjarファイル)を置いてやることです。 http://www.noblab.jp/technotes/java_ext/ Java の拡張ディレクトリ (ext) - TechNotes いずれにせよ,その辺りのことは, http://java.sun.com/j2se/1.4/ja/docs/ja/tooldocs/findingclasses.html クラスの検索方法 に書いてあります。 ともかく,Javaでプログラミングをするのであれば,最後に挙げたURLのページに書かれていることは,最低限理解しておくべきでしょう。そうしなければ,いつまでたっても「クラスが存在しない」とか「パッケージが存在しない」というエラーを繰り返すことになります。

tropical-flower
質問者

お礼

お礼が大変遅くなり申し訳ありません。 回答ありがとうございます。 非常に初歩的な質問だとは思っていますが、教えていただき助かりました。 勉強が足りない状態で「つくれ」と言われてしまったので納期優先で「勉強しながら~~」で作成しています。 がんばりますので、また質問をみかけましたらぜひ教えてください。 ありがとうございました。

  • hrykhsmt
  • ベストアンサー率50% (5/10)
回答No.2

訂正です。 「暮らすパス」→「クラスパス(CLASSPATH)」です。

関連するQ&A