1
我有一個xml。 我已經爲xml創建了一個XSD。在jaxb中使用xsd進行xml驗證
我想編寫一個編程來驗證xml針對xsd。 我寫了一個編,並獲得個人價值觀設置。
但是有沒有辦法,我可以給xml文件作爲輸入,並可以看到xml是否對XSD有效?
感謝, 妮妮
我有一個xml。 我已經爲xml創建了一個XSD。在jaxb中使用xsd進行xml驗證
我想編寫一個編程來驗證xml針對xsd。 我寫了一個編,並獲得個人價值觀設置。
但是有沒有辦法,我可以給xml文件作爲輸入,並可以看到xml是否對XSD有效?
感謝, 妮妮
這是來回驗證XML函數與XSD
更多信息上https://github.com/brainlessgit/Projects/tree/master/XMLParserProject3
public static boolean validate() {
Source xmlFile = null;
File schemaFile;
SchemaFactory schemaFactory;
Schema schema;
try {
schemaFile = new File(xsdFileName);
xmlFile = new StreamSource(new File(xmlFileName));
schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
schema = schemaFactory.newSchema(schemaFile);
Validator validator = schema.newValidator();
validator.validate(xmlFile);
System.out.println(xmlFile.getSystemId() + " is valid");
} catch (SAXException | IOException e) {
System.out.println(xmlFile.getSystemId() + " is NOT valid");
System.out.println("Reason: " + e.getLocalizedMessage());
return false;
}
return true;
}
非常感謝。我可以使用這個概念。 – nisha 2012-07-26 11:23:42
但是你可以使用marshall/unmarshall作爲例子嗎? – nisha 2012-07-26 11:35:44
@ user468964 - 您可以在Marshaller或Unmarshaller中設置'Schema'的實例來啓用驗證。欲瞭解更多信息,請參閱:http://blog.bdoughan.com/2010/12/jaxb-and-marshalunmarshal-schema.html – 2012-07-26 13:00:46