Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
XMLStreamReader到java中的StreamSource_Java_Xml_Xsd Validation - Fatal编程技术网

XMLStreamReader到java中的StreamSource

XMLStreamReader到java中的StreamSource,java,xml,xsd-validation,Java,Xml,Xsd Validation,我想将XMLStreamReader对象转换为StreamSource对象,以便应用XSD验证。有人能帮我把这个换成现金吗 public XMLStreamReader getStreamReader(InputStream inputStream) { try { XMLInputFactory xif = XMLInputFactory.newInstance(); return new XmlStreamReaderDelegate(xif.crea

我想将XMLStreamReader对象转换为StreamSource对象,以便应用XSD验证。有人能帮我把这个换成现金吗

public XMLStreamReader getStreamReader(InputStream inputStream) {
    try {
        XMLInputFactory xif = XMLInputFactory.newInstance();
        return new XmlStreamReaderDelegate(xif.createXMLStreamReader(inputStream, "UTF-8"));
    } catch (XMLStreamException e) {
        //logger.info(XmlValidatorSettings.class,e.getMessage(),e.getMessage());
        throw new UnmarshallingException(e);
    }
}
我需要调用此方法来根据XSD验证XML

public List<SAXParseException> validateSrcXmlAgainstSchema(Source xmlFile, String schemaFilePath) throws SAXException, IOException {
    List<SAXParseException> exceptions = new LinkedList<SAXParseException>();
    SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
    Schema schema = schemaFactory.newSchema(new File(schemaFilePath));
    // logger.debug("Schema Initialised for Schema located in : " + schemaFilePath);
    XmlValidationExceptionHandler validationErrorHandler = new XmlValidationExceptionHandler();
    Validator validator = schema.newValidator();
    validator.setErrorHandler(validationErrorHandler);
    // logger.debug("START - validate xml against schema ");
    validator.validate(xmlFile);
    // logger.debug("END - validate xml against schema ");
    exceptions = validationErrorHandler.getExceptionList();
    return exceptions;
    }
}

public class XmlStreamReaderDelegate extends StreamReaderDelegate {

public XmlStreamReaderDelegate(XMLStreamReader xsr) {
    super(xsr);
}

@Override
public String getAttributeLocalName(int index) {
    return super.getAttributeLocalName(index).toLowerCase().intern();
}

@Override
public String getLocalName() {
    return super.getLocalName().toLowerCase().intern();
}