- - PR -
JavaでのDomプログラムおけるXml文書読み込みについて
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2001-11-26 19:24
現在、「Javaで実現するDOM/SAXプログラミング」で勉強させていただいています。
Xercesを使用し、javaでxml文書を読み込む際には、 ドキュメントビルダのインスタンスを生成し、parseメソッドでノードツリーを 取得するとあります。 その際、parseメソッドの引数にはxmlファイルのuriか、Fileオブジェクト、 inputStreamを指定できるようですが、「xml文字列」はXercesを使用したプログラムで はxml文書として読み込めないという事なのでしょうか。 例えば、JavaScriptからJavaServletにxml文字列を渡し、Servlet側でパースする という事は、Xercesを使用する限りは不可能なのでしょうか。 ご存知の方いらっしゃいましたらご意見ください。 |
|
投稿日時: 2001-11-26 20:44
InputStreamdではなくて、Readerから読み込むようなInputSourceを作成して、
それをparseの引数にします。 具体的には、下のような感じです。 ------------------------------------------------------ DOMParser parser = ... //DOMパーザ String xml = ... //XML文字列 Reader reader = new StringReader(xml); InputSource is = new InputSource(reader); parser.parse(is); ------------------------------------------------------ |
|
投稿日時: 2001-11-27 10:00
coasmさんありがとうございました。
InputSourceとは、org.xml.sax パッケージのクラスだったんですね。 おっしゃる通り、xml文字列をparseできるようになりました。 ところで、もう少し突っ込んだ質問をさせていただきたいのですが、 「Javaで実現するDOM/SAXプログラミング」のサンプルソースでは import org.apache.xerces.parsers.DOMParser; というように、xercesのクラスライブラリのインポートを明示的に行っていません。 また、このことについて、Factoryパターンと呼んで、説明がなされています。 これは、xerces.jarに標準化されたインターフェースが実装されているという 解釈でよろしいでしょうか?具体的に言うと、xerces.jarの中にはjaxpという標準化 されたパース用インターフェースが存在している。という事でしょうか? この辺の、パーサの標準化についてもう少し詳しく知りたいと思っています。 (複数パーサの切り替え方など、また、どのような場合にその必要があるか、等) coasmさん、ご存知の方、ご教授願います。 |
1