如何确定给定文件是否是JAVA中的xml valide文件?
例如:
bool valide = IsAnXMLFile(new File("file.txt"));
感谢的。
答案 0 :(得分:1)
只需使用解析器加载文件即可检查格式良好。如果文件引用了dtd,那么它也会针对此dtd进行验证(这需要dtd出现在指定的位置)。如果使用模式语言(f.i. xsd),则需要在加载时手动验证文件。 JAXP是这里的关键字!
以下是针对架构进行验证的小片段:
SchemaFactory schemaFactory = SchemaFactory.newInstance(schemaLanguage.getId());
schemaFactory.setResourceResolver(getLSResourceResolver()); //optional
Schema schema = schemaFactory.newSchema(schemaURL)
Validator validator = schema.newValidator();
validator.validate(new StreamSource(new File(...)));
答案 1 :(得分:0)
public boolean valide(String filename) throws JDOMException, IOException
{
SAXBuilder builder = new SAXBuilder();
try{
Document doc = builder.build(new File(filename));
} catch (JDOMParseException ex) {
return false;
}
return true;
}