Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.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
Java 如何确定给定文件是否为xml valide文件_Java_Xml - Fatal编程技术网

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 =

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

例如:

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