gpt4 book ai didi

java - 如何调试 org.xml.sax.SAXParseException;架构_reference.4?

转载 作者:行者123 更新时间:2023-11-30 07:18:57 24 4
gpt4 key购买 nike

(不是它可能不相关,但今天我刚得到 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 周前)。

最佳答案

当然UTF_8不对,应该是UTF-8

这里解释了 XML 声明中的有效 encoding 属性值 http://www.w3.org/TR/REC-xml/#NT-EncodingDecl

在实践中,Java XML 解析器支持 Java 支持的任何编码,并且还允许使用别名,例如 UTF8 也不错,但 UTF_8 不行。

关于java - 如何调试 org.xml.sax.SAXParseException;架构_reference.4?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14974774/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com