【发布时间】:2017-03-27 03:25:17
【问题描述】:
请掌舵我。
我有要验证的 XML 字符串。有时,文档没有通过验证。因为有一个词“Weiß”。如何解决此错误和其他类似错误?我知道那是在字母“ß”上发誓的。但奇怪的行为,第一次抛出错误,但第二次,同一行已经有效。我使用 xerces 库。
org.xml.sax.SAXParseException; lineNumber: 19; columnNumber: 17; The entity "szlig" was referenced, but not declare
验证
SchemaFactory factory = new XMLSchemaFactory();
try {
InputStream stream = Thread.currentThread().getContextClassLoader().getResourceAsStream(WTConstants.XSD_VALIDATOR);
if (xmlString.startsWith("\uFEFF")) {
xmlString = xmlString.substring(1);// remove BOM
}
Schema schema = factory.newSchema(new StreamSource(stream));
Validator validator = schema.newValidator();
validator.validate(new StreamSource(new StringReader(xmlString)));
} catch (SAXException | IOException e) {
logger.error("Validation error: ", e);
isXmlValid = false;
}
谢谢。
【问题讨论】:
-
我认为没有。它不能解决我的问题..
标签: java xml validation xerces