0
我試圖驗證使用XSD架構的XML,但它拋出驗證的時間,java.net.MalformedURLException:無協議,而驗證XML字符串XSD架構
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));
}...
到底哪裏出問題了,validator.validate該步驟中,拋出一個異常,我需要在這裏提供編碼字符串?
如果我有文件做我的意思是xmlContent從文件,
validator.validate(new StreamSource(new File(filePath)));
那麼它的正常工作。 我不想從一個文件,但是從字符串對象
是它的工作,謝謝。它需要被編碼,不是String處理它。 – tyro
問題不是編碼,而是StreamResource構造函數中的錯誤類型。如果您使用String參數調用StreamResource構造函數,它會嘗試將此字符串解析爲URL。在文檔中查看: https://docs.oracle.com/javase/7/docs/api/javax/xml/transform/stream/StreamSource.html#StreamSource(java.lang.String) 我的建議調用具有InputStream參數的StreamResource構造函數,並使用InputStream包裝xmlContent字符串。 –
清除,再次感謝 – tyro