web-dev-qa-db-ja.com

InputStreamをソースに変換する方法は?

デバイスに保存されているxsdスキーマファイルを使用してxmlドキュメントを検証したい。これが私のサンプルコードです:

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メソッドに必要なソースに変換するにはどうすればよいですか?

17
tommyk

あなたは回心しません、あなたはそれを包みます。

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

40
Joeri Hendrickx