如何确定给定文件是否为xml valide文件

时间:2014-10-30 11:08:01

标签: java xml

如何确定给定文件是否是JAVA中的xml valide文件?

例如:

bool valide = IsAnXMLFile(new File("file.txt"));

感谢的。

2 个答案:

答案 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;
}