2011-12-08 6 views
0

xmlファイルからStreamSourceを取得する必要がありますが、カスタムEntityResolverも使用する必要があります。XMLReaderのカスタムEntityResolverでStreamSource.setReader()を設定する方法

私が抱えている問題は、ストリームソースにXMLReaderを取得する方法を理解できないことです。

私は次のことをやっている:(DOCは、入力ストリームである)

XMLReader reader = XMLReaderFactory.createXMLReader(); 
StreamSource doc_source = new StreamSource(doc); 
reader.setEntityResolver(new PsudoEntityResolver()); 
doc_source.setReader(reader); 

setReaderを()は、引数やないのXMLReaderとしてリーダーを受け入れるため明らかにこれは動作しません。

どのように私はこれを回避することができますすべてのアイデア。

答えて

0

、あなたのXMLReaderを使用して、あなたがそうであるようにエンティティリゾルバを設定したが、その後呼び出し:迅速な返信用

reader.parse(new InputSource(doc)); 
+0

おかげで、私はこれは私が私のStreamSourceに読者を得ることができますどのように表示されていないが。私は(私は変更することはできません)解析を行っている別のメソッドに渡されるStreamSourceを構築しています。ありがとう! –

+0

それで、申し訳ありませんが、私はあなたが立ち往生していると信じています。 StreamSourceは、File、バイトストリーム(InputStream)、文字ストリーム(Reader)、またはURLのXMLデータのソースのみを示します。追加の設定は含まれていません。エンティティリゾルバこれらの設定を含むようにStreamSourceをサブクラス化しても、呼び出されるメソッドはそれらについて何も知らず、それらを使用しません。 – ziesemer

関連する問題