Java 如何确定给定文件是否为xml valide文件
如何确定给定文件是否是JAVA中的xml valide文件 例如:Java 如何确定给定文件是否为xml valide文件,java,xml,Java,Xml,如何确定给定文件是否是JAVA中的xml valide文件 例如: bool valide = IsAnXMLFile(new File("file.txt")); 谢谢。只需使用解析器加载文件,就可以检查格式是否正确。如果文件引用了dtd,则还将根据该dtd对其进行验证(这要求dtd出现在指定的位置)。如果使用模式语言(f.i.xsd),则需要在加载文件时手动验证该文件。JAXP是这里的关键词 下面是一个针对架构进行验证的小片段: SchemaFactory schemaFactory =
bool valide = IsAnXMLFile(new File("file.txt"));
谢谢。只需使用解析器加载文件,就可以检查格式是否正确。如果文件引用了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(...)));
您的意思是格式正确或根据架构有效?如果要对照XML架构检查此问题:尝试检查以下答案:只有在文档中指定DTD或doctype是内联指定的情况下,这才是验证。有关基于模式的验证,请参见上文。
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;
}