我正在编写一个java代码来验证针对XSD文件的XML。 Eclipse在以下代码中显示2个错误。
此行的多个标记 -
无法将网址解析为
类型SAXException无法解析为类型
import javax.xml.XMLConstants;
import javax.xml.transform.Source;
import javax.xml.transform.stream.StreamSource;
import javax.xml.validation.*;
public class xml_validator_class {
public static void main(String argv[]) {
URL schemaFile = new URL("xsdfile.xsd");
Source xmlFile = new StreamSource(new File("xmlfile.xml"));
SchemaFactory schemaFactory = SchemaFactory
.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
Schema schema = schemaFactory.newSchema(schemaFile);
Validator validator = schema.newValidator();
try {
validator.validate(xmlFile);
System.out.println(xmlFile.getSystemId() + " is valid");
} catch (SAXException e) {
System.out.println(xmlFile.getSystemId() + " is NOT valid");
System.out.println("Reason: " + e.getLocalizedMessage());
}
}
}
请参阅以下计划的this link:
答案 0 :(得分:5)
导入缺少的类,以便可以在程序中使用非限定类型
import java.net.URL;
import org.xml.sax.SAXException;
答案 1 :(得分:2)
发生此错误是因为您使用了某些其他软件包中的某些类,并且编译器 无法解析这些依赖项 ,因为缺少导入。
使用 Ctrl + Shift + O 自动导入所有必需的依赖项。或者按照@Reimeus的建议使用手动导入。
答案 2 :(得分:-1)
将“URL”类复制并粘贴到您机器中扩展名为 .Java 的某处,从包中删除 URL 类,并将 URL 类粘贴到包文件夹中,清理项目。它对我有用。