• ベストアンサー

DOMデータを使ってSAXで解析する方法

Javaで作成したDOMデータをSAXを使って解析するには どのようにしたら良いのでしょうか? サンプル等ではXMLファイルを読み込んで解析する処理は 沢山あるのですが、DOMのデータをSAXに渡して解析 するような処理が見当たらなかったので質問しました。

  • XML
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

javax.xml.transform.*; を使っていったんファイルや文字列として書き出さないとしょうがないんじゃないでしょうか 試しに、 InputSource in = SAXSource.sourceToInputSource(new DOMSource(doc)); とかしてみましたが、ムリみたいでした。 ところで、既にDOMとして保持しているものをSAXで解析しなければならないという理由はなんなんでしょうか?

関連するQ&A

  • SAXによる文字データの読み込み方法

    現在、自作アプリのデータをXMLでファイルに保存し、SAXで読み込み処理をしようと考えております。 データは、次のようなものと仮定します。 <歌> <曲名>○○の歌</曲名> <作曲者>某 太郎</作曲者> </歌> 上記のようなXMLの場合、曲名、作曲者をcharacters()で得ることとなると思うのですが、どちらのデータなのかを判断する方法が分かりません。 startElement()で場合分けして、フラグをたてておいて、characters()内で、そのフラグを見て判断するしかないのでしょうか? なんか、スマートでない気がして、なにかいい方法がないかと悩んでいます。 ファイルから読み込んで、すぐに自前のクラスに代入するのですが、DOMでツリーを作った方がいいのでしょうか? なにか、よい方法をご存じでしたらご教授下さい。 よろしくお願いいたします。

    • 締切済み
    • XML
  • JavaからXMLプロセッサを使うとは?

    JavaでXMLを処理する必要に駆られまして、一念発起して勉強しています。 XMLを処理するためには、JavaのAPIがあってそれを利用するというのはokで、処理方法にはDOM・SAX・XSLTといったものがあるというのもわかりました。 ただ、DOMやSAXが、Javaプログラムからデータを読む手助けをするためのモノというのはわかるのですが、XSLTはただの変換とどう違うのでしょうか? 本を読む限り、XSLの規則にしたがって変換するもの。となっていて、読み込ませる→変換結果が出てくる、で、なんだかHTMLの生成くらいにしか使えないような印象なのですが、Javaとタッグを組んでデータを処理させたい場合、どんな使われ方をするのでしょうか。 DOMやSAXでも良いじゃんと言われそうなのですが、HTMLも同時に扱う必要があるため、ぜひ習得したいのです。 ですが、市販のJava本はほとんどXMLパーサ関係ばかりで・・・。また、何かいい参考書もあったら教えていただきたいと思います。

    • ベストアンサー
    • Java
  • JavaでXMLをファイルからじゃなく扱いたい

    Javaで例えば、String変数に String str = "<xml sample>hogehoge</xml sample>" みたいにXML形式のデータが入っているとして、このデータを、XMLファイルをDOMで扱う時のように扱えないでしょうか?一度、ファイルに書きだして、XMLファイルとして読み込ませないと難しいでしょうか?

    • ベストアンサー
    • Java
  • XML DOM XMLパーサーについて理解していません

    XMLについてイマイチ理解していないので教えてください。PHPでXMLファイルを開いて何らかの処理をするとします。例えば <?php //ドキュメントオブジェクトの作成 $doc = new DOMDocument(); //XML 文書ファイルのパース(DOM ツリーの作成) $doc->load("docs/td101.xml") //要素"b"を取得する $bElement = $doc->getElementsByTagName("b")->item(0); //取得した要素"b"に属性"ad"を設定する $bElement->setAttribute("ad","Fukuoka"); //ドキュメントをシリアライズする $doc->save("docs/result101.xml"); ?> のようにXMLファイルに属性を追加するという処理を行うとします。この時、DOMはPHPによって生成されるんでしょうか?またXMLはXMLパーサーによって解析されると本で読んだのですが、この場合PHPがXMLパーサーの機能を持っているんでしょうか?それともブラウザにXMLパーサーの機能があり、ブラウザ側で処理をされているのでしょうか?意味がわからなくて申し訳ないですが、この辺りを理解していなくて・・・御願いいたします。

    • ベストアンサー
    • XML
  • XML-DOMについて

    XML-DOMを使いたいのですが、サーバにはXMLパーサは入っていてXML-DOMがないのです。XML-DOMをサーバにコピーして使用できると聞いたのですが、CPANからダウンロードしたXML-DOMの中の、どのファイルをあげればいいのでしょうか? CGIから呼び出す?時は、どのように書くのでしょうか? 初心者なもので宜しくお願い致します。

  • DOMで\\localhost\~がloadできません

    DOMについて質問させてください。 DOMで\\localhost\~\test.xmlをloadすると、「指定されたパスが見つかりません。」が表示されloadできません。ちなみに、ループバックアドレスの\\127.0.0.1だとうまくいきます。なぜか理由が分からないため質問させていただきました。\\localhostでloadするには何かwindowsの設定がいるのでしょうか? ・再現手順は以下の通りです。 (1)DOMでCドライブ配下にサブフォルダを作成し、そのサブフォルダ内に共有フォルダを作成します。 (2)作成した共有フォルダ内にxmlファイルを格納します。 (3)DOMで共有フォルダ内のxmlファイルをロードするとエラーになります。 以下、サンプルコードです。(MSXMLのバージョンはどのバージョンでも現象は同じ) '================================================== Set objDOM = CreateObject("MSXML2.DOMDocument.6.0") objDOM.async = false rtResult = objDOM.load("\\localhost\~\test.xml") msgbox "load:" & rtResult & " エラー番号:" & objDOM.parseError.errorCode & " MSG:" & objDOM.parseError.reason Set objDOM = Nothing '==================================================

    • 締切済み
    • XML
  • DOMのパーズの高速化方法

    JavaでXMLファイルを読み込んでDOMにします。このときパーズに結構時間がかかる(数 10KBのXMLで3秒程度)ので,この部分を高速化したいと思っています。あらかじめデシリアライズしておいてそれを読み込めばいいと思ったのですが,具体的な方法がわかりません。ご存知のかたは教えてください。 また,パーズの高速化するその他の方法でもかまいません。

  • XML文章検索方法でDOM&SAX以外に何かありますか?

    こんにちわ、jixyoji-と申しますm(._.)m。 非常に困っているのですがタイトルのとおりに、簡単なキー検索をしたいのですけれどXML文章検索方法でDOM&SAX以外に何かありますか?私の環境は下記過去ログのとおりです。この質問のページの1ページ前に質問内容があるので何かの参考になればお願いします。 「Solaris8でApache1.3 ver12とTomcat3.3でxmlファイルをどのような検索方法がありますか?後検索の方の設計も教えてm(._.)」 http://www.okweb.ne.jp/kotaeru.php3?q=208880 できたら上記の過去ログで何かわかる人がいれば回答をお願いします。これだけでは内容が不明であれば補足します。宜しく御願いしますm(._.)m。

  • CGIでXML解析したいです

    この質問はCGIで投稿したのですがこちらの方が適切ですかね? XML形式のクエリーを送信させてそれをPERLで解析したいのですがうまくいきません。 <LOGIN USERNAME="hanako" PASSWORD="875" /> 上記形式のXML(将来的には情報を付加)なんですがFLASHから生成させています。 環境変数など調べてみたのですがメソッドはPOST,CONTENT_LENGTHもしっかり入っています。 どこに送られてきたデータがあるのでしょうか、またXMLを解析するモジュールでもあるのでしょうか(XML::DOM,PARSER?使用方法が乏しいです)、よろしくお願いします。

  • Excel(マクロ)でXML解析

    JAVAでXMLを作成し、Excel でそのXML を解析して 解析後の値をセルに設定しようと思っています。 実際にマクロでどのような実装をすればよいでしょうか? よろしくお願いします。

    • 締切済み
    • XML

専門家に質問してみよう