我正在尝试使用 xsd 模式验证 xml,但在验证时它会抛出,
java.net.MalformedURLException:无协议:
到目前为止我所做的是,
public boolean ValidateXML(String xmlContent) throws Exception {
try
{
SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
Schema schema = factory.newSchema(getClass().getClassLoader().getResource("ABC/XYX/PQR.xsd"));
Validator validator = schema.newValidator();
validator.validate(new StreamSource(xmlContent));
}...
Run Code Online (Sandbox Code Playgroud)
出了什么问题,validator.validate这一步抛出异常,我需要在这里提供编码字符串吗?
如果我用文件来做,我指的是文件中的 xmlContent,
validator.validate(new StreamSource(new File(filePath)));
Run Code Online (Sandbox Code Playgroud)
然后就可以正常工作了。我不想要来自文件的 xml 内容,而是来自字符串对象
小智 7
将字符串转换为 StreamResource:
validator.validate(new StreamSource(new ByteArrayInputStream(xmlContent.getBytes(StandardCharsets.UTF_8))));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4525 次 |
| 最近记录: |