- - PR -
XMLを使ったときのエラー
1
| 投稿者 | 投稿内容 | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-07-18 22:29
こんにちは。
現在JAVAでXMLを使うことに挑戦していますが、エラーが出てしまい困っています。 どなたかご教授下さい。 ソースコードは次のようになっています。 // DOMの準備をする DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); // XML文書の読み込み Document doc = db.parse(new FileInputStream("C:\aaa.xml")); // XML文書の出発点を得る Element root = doc.getDocumentElement(); if(!id.equals("0")){ parent = id; } if (category.equals("0")){ setMaxctg(); } eleVec.addElement(new Integer(1)); // XML文書を書き出す XmlDocument xdoc = (XmlDocument)doc; ←ここでClassCastExeptionが出ます。 BufferedWriter bw = new BufferedWriter(new FileWriter(path)); xdoc.write(bw,"Shift_JIS"); bw.close(); 単体で動かしたときにはエラーは出ませんが、TOMCATを使ってサーブレットから呼んだときにえらーが出てしまいます。 どなたかご教授下さい。 | ||||||||||||
|
投稿日時: 2004-07-18 23:18
XMLDocumentというのは、どのパッケージのクラスでしょうか?
おそらくパーサ依存のクラスだと思いますので、使っているパーサが異なるのでしょう。 パーサに依存しないコードを書くのであれば、javax.xml.transform.Transformerクラスを 使用して出力したほうがいいと思います。 | ||||||||||||
|
投稿日時: 2004-07-18 23:55
返信ありがとうございます。
できればDocumentBuilderクラスのparse()メソッドで帰ってくる Documentを使って編集したいと思っています。 これで編集したものをファイルに出力するにはどうしたらいいのでしょうか? ローカルで単体なら動くのですがサーブレットだと前のソースでは動きません。 | ||||||||||||
|
投稿日時: 2004-07-19 01:48
その部分は問題ありません。
前の書き込みの意味がわからなかった、ということでしょうか。Transformerクラスを使った 出力処理のサンプルを書きますので、参考にしてください。
| ||||||||||||
|
投稿日時: 2004-07-19 01:55
返信ありがとうございます。
TransformerFactoryを使って編集もするのかと勘違いしていました。 このコードを参考に試してみます。 ありがとうございます。 | ||||||||||||
1
