
JavaでXMLをパースするプログラムを初めて試しています。
parseメソッドの第一引数がファイルオブジェクトなのですが、これをメモリ(文字列)オブジェクトを与えて同じ動作させるものはあるのでしょうか?
// SAXパーサーファクトリを生成
SAXParserFactory spfactory = SAXParserFactory.newInstance();
// SAXパーサーを生成
SAXParser parser = spfactory.newSAXParser();
// XMLファイルを指定されたデフォルトハンドラーで処理します
parser.parse(new File("helloworld.xml"), new InsXMLParser());
※このように
String str = "<xml? ......";
parser.XXXXXX(str, new InsXMLParser
No.1ベストアンサー
- 回答日時:
このSAXParserのparseだが、Fileインスタンスの他にInputStreamインスタンスを引数に取るオーバーロードが存在する。
SAXParser#parse(InputStream, DefaultParser)
これはInputStreamからreadしてパースするものだ。つまり、Stringを何らかの方法でInputStreamにしてやれば良い。方法は簡単。StringをgetBytesでbyte配列に取ってから、ByteArrayInputStremに食わせてやればよい。
// ※このように
String str = "<xml? ......";
// SAXパーサーファクトリを生成
SAXParserFactory spfactory = SAXParserFactory.newInstance();
// SAXパーサーを生成
SAXParser parser = spfactory.newSAXParser();
// XMLファイルを指定されたデフォルトハンドラーで処理します
parser.parse(new ByteArrayInputStream(str.getBytes()), new InsXMLParser());
動くと思うが頭ん中だけで書いているのでぜひ実験して欲しい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
XMLで要素が記述された順番に意...
-
VBでXMLを扱えるコントロールは...
-
昔Winnyってありましたけど、あ...
-
xmlのテキストにリンクを張りた...
-
ブレークポイントで止らない
-
XSLでXMLデータをタブ区切りデ...
-
使用できる文字の規約
-
DTDファイルをクラスパスから読...
-
MSXMLを使ってノードを削除した...
-
Delphiのxmlデータバインディン...
-
Excel-VBAでXMLの複数ノードの...
-
TreeViewで複数ノードの選択は...
-
C#でTreeViewのCheckBoxのサイ...
-
ルート要素ノードが2個ある場合?
-
TreeView の初期表示について
-
ツリービューの使い方が・・・
-
【vb6】イメージリストに対する...
-
ExcelVBAで書き出した文字が化ける
-
VBでXMLファイルを作ると xmlns...
-
4色定理はなぜグラフ理論で証...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
XMLで要素が記述された順番に意...
-
VBでXMLを扱えるコントロールは...
-
値が無い場合のタグ出力
-
XMLとRDFの違い
-
XMLデータをパーサーをかけてテ...
-
wikipediaからの必要情報の取得...
-
Java ファイルオブジェクトで...
-
CPUの考え方を教えてください ...
-
東芝のDynabookなのですがアン...
-
ルート要素ノードが2個ある場合?
-
SNMP リンクダウンとノードダ...
-
Excel-VBAでXMLの複数ノードの...
-
複数のマックPCによる数値計算...
-
XML、XSLTの適応エラー(IEから...
-
バッチファイルでテキストファ...
-
同じタグ名の項目取得
-
C# TreeView 効率良いノード追...
-
C#でTreeViewのCheckBoxのサイ...
-
昔Winnyってありましたけど、あ...
-
VBSでxmlの値を書き換えたい
おすすめ情報