- 締切済み
JavaでのXMLパーサの使用について
javaでパーサを使ってDOMツリーを作成したいのですが、パーサインスタンスが作成できずにエラーがでてしまいます。ちなみにコンパイルは通ります。 以下にソースとエラー内容を記述しますので、もしよろしかったらどなたか教えて下さい。 import java.io.*; import com.ibm.xml.parsers.*; import org.xml.sax.*; import org.w3c.dom.*; public static void main(String[] args){ try{ //XML文書作成 String xml = "<sample>Hello Java World</sample>"; //DOMパーサ作成 DOMParser parser = new DOMParser(); //入力ストリーム作成 StringReader sr = new StringReader(xml); InputSource is = new InputSource(sr); //パースする parser.parse(is); //ドキュメントを得る Document doc = parser.getDocument(); //トップレベル要素を得る Element el = doc.getDocumentElement(); System.out.println("Top Level Element: " + el.getTagName()); } catch(Exception e){ e.printStackTrace(); } } エラー内容: java.lang.NoClassDefFoundError: com.ibm.xml.parsers.DOMParser java.lang.Throwable(java.lang.String) java.lang.Error(java.lang.String) java.lang.LinkageError(java.lang.String) java.lang.NoClassDefFoundError(java.lang.String) void pkxml.dom.PsDomBean.makedom() void pkxml.dom.PsDomBean.makedom() void pkxmlsutabu.Sutabu.main(java.lang.String [])
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- Harry_
- ベストアンサー率55% (36/65)
コンパイルは通るというのがよくわからないのですが、 あと、出てるエラーもクラスがないというのはわかりますが、 なんか変なスタックトレースですね。 使ってるパーサも。IBM製ですか、これは。 私は多分回答できないと思いますが、 開発環境を詳しく書かないと、 このエラーの原因はわからないと思います。 IDEとか使ってるんでしょうか。
- onchange
- ベストアンサー率20% (5/24)
お使いのパーサーってざーしずですかね。 クラスパスが通ってないとかじゃないですよね・・・。 根本的な解決ではないので回答ではないのですが、アドバイスというか、そんな感じで書き込みします。 JDK1.4だと標準でXML関係のAPIが入っているので、ご参考にその場合のソースと結果を。 import java.io.StringReader; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.xml.sax.InputSource; public class XMLTest { public static void main(String[] args){ try{ //XML文書作成 String xml = "<sample>Hello Java World</sample>"; //入力ストリーム作成 StringReader sr = new StringReader(xml); InputSource is = new InputSource(sr); //ドキュメントビルダの生成 DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); //パースしてDOMのオブジェクトを取得する Document doc = builder.parse(is); //トップレベル要素を得る Element el = doc.getDocumentElement(); System.out.println("Top Level Element: " + el.getTagName()); } catch(Exception e){ e.printStackTrace(); } } } 結果: D:\temp\test\bin>java XMLTest Top Level Element: sample D:\temp\test\bin> となります。
補足
回答ありがとうございます。 補足としまして、開発環境は VisualAge for Java(プロフェッショナル) バージョン 4.0 Build 0620 IV3-5 JDK1.2.2 を用いています。
補足
回答ありがとうございます。 補足としまして、開発環境は VisualAge for Java(プロフェッショナル) バージョン 4.0 Build 0620 IV3-5 JDK1.2.2 を用いています。