InputStreamをSourceに変換するにはどうすればいいですか?質問する

InputStreamをSourceに変換するにはどうすればいいですか?質問する

検証したいxml文書の使用xsdデバイスに保存されているスキーマ ファイル。サンプル コードは次のとおりです。

SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);

// schema file on my device
InputStream isSchema = context.getResources().openRawResource(xsd_file);
// InputStream => Source conversion
Source schemaSource = ????
Schema schema = factory.newSchema(schemaSource);

Validator validator = schema.newValidator();
validator.validate(new DOMSource(document));

質問:InputStream を SchemaFactory::newSchema メソッドに必要な Source に変換するにはどうすればよいですか?

ベストアンサー1

変換するのではなく、ラップします。

Source schemaSource = new StreamSource(isSchema);

見る:http://docs.oracle.com/javase/1.5.0/docs/api/javax/xml/transform/stream/StreamSource.html#StreamSource%28java.io.InputStream%29

おすすめ記事