(不是它可能不相关,但今天我刚刚得到了 Caused by:java.io.UnsupportedEncodingException: UTF_8
和 Oxygen XML 编辑器一样)
错误是:
SEVERE: null
org.xml.sax.SAXParseException; schema_reference.4: Failed to read schema document 'file:/fileLocation', because 1)
could not find the document; 2) the document could not be read; 3) the root element
of the document is not <xsd:schema>.
来自第三行代码:
File schemaFile = new File("filenName.xsd");
SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
Schema schema = schemaFactory.newSchema(schemaFile);
我做的第一件事是复制路径并测试它以确保它指向正确的文件。我做到了。
其次是检查 java 是否能够读取文件,我使用 .canRead();
第三,我在模式内部检查根节点。
<?xml version="1.0" encoding="UTF_8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
targetNamespace="name" xmlns="name">
...
</xsd:schema>
它曾经是xs:schema,但我切换它是因为我收到了这个错误。最奇怪的部分是,当我编码时,我没有收到任何错误(1 周前)。