使用Java,有没有办法查看某些内容,比如文件的字符串表示,并确认或否认它代表XML文件?
您会选择哪个库来解析文件?你能提供一个例子吗?
答案 0 :(得分:3)
IMO 最快方式是查看它是否解析,特别是如果你有DTD / XSD。您可以在不使用任何常规XML解析库的情况下检查格式良好。
否则,不确定你能做什么。
答案 1 :(得分:1)
如果你对解析的结果不感兴趣,只是在是否形成良好的是/否指示,那么你应该使用SAX解析器;如果您使用XMLFilter类作为提供的ContentHandler,那么解析器中的所有信息将立即被丢弃,并且一旦发现语法错误,该过程就会终止。
答案 2 :(得分:0)
好吧,您可以检查根标记:<?xml version="" ?>
以检查它是否是XML。但是,如果您希望验证已指定模式或DTD的XML文档,那么只需从两个JAXP解析器工厂之一创建一个验证解析器:SAXParserFactory和DOMBuilderFactory。如果仅进行验证,请使用SAX解析器,因为它的内存占用量较小。