如何为InputStream转换成源?转换成、何为、InputStream

2023-09-07 16:22:28 作者:柔软生的茧

我想用我的存储设备上的 XSD 的模式文件来验证的 XML 的文档。这里是我的例子code:

I want to validate xml document using xsd schema file stored on my device. Here is my example code:

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方法所需来源?

Question: How can I convert InputStream into Source required by SchemaFactory::newSchema method ?

推荐答案

您没有转换,你把它包起来。

You don't convert, you wrap it.

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