我在使用 XMLInputFactory
创建 XMLStreamReader
时尝试验证(有效的 xml 文件)xml。
我知道可以在工厂javax.xml.stream.isValidating
中设置一些属性来允许特定的实现验证(在我的例子中是xml)。但我正在使用 java 6 build 43 (Jboss eap 6.0) 并且无法更新,所以这对我不起作用(kwnon 问题)。
因此,如果有人知道任何 API(StAX 除外)可以做同样的事情,那就太好了! 如果有不清楚的地方请告诉我。
最佳答案
找到了,我使用 api SAX 使用提供的 SAXParserFactory 创建一个解析器(独立于 xsd 模式)并解析该文件。 (更多详细信息请参见第 (23/24) 页 http://apiacoa.org/publications/teaching/xml/api-xml.pdf )
此外,不要忘记在使用解析器解析输入流之前/之后标记/重置输入流(如果 xml 文件格式不正确,则会抛出异常),这样您就可以在解析时保持原样不会失败。
关于java - 无需特定 XSD 即可验证 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26733261/