0
寻找确认下面是根据模式验证XML字符串的最有效的Java解决方案。任何其他更有效的记忆或性能方式?根据XSD验证XML
private boolean isXMLValid(String XSDPath, String XML) {
final SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
try {
final Schema schema = factory.newSchema(new File(XSDPath));
final Validator validator = schema.newValidator();
validator.validate(new StreamSource(new ByteArrayInputStream(XML.getBytes())));
} catch (IOException | SAXException e) {
System.out.println("Exception: " + e.getMessage());
return false;
}
return true;
}
仅针对某些情况,此验证位于REST API的后面,将由另一个应用程序调用以验证其XML,因此我不确定是否可以获得更多流畅性,但是如果您有任何想法,请告诉我。谢谢! – c12
'ServletRequest'有一个['getInputStream'](http://docs.oracle.com/javaee/6/api/javax/servlet/ServletRequest.html#getInputStream())方法。 – lexicore