小编use*_*603的帖子

以编程方式确定XML文档中的哪个节点导致针对其XML架构的验证失败

我的输入是格式良好的XML文档和相应的XML Schema文档.我想要做的是确定XML文档中的位置,导致它无法验证XML Schema文档.我无法弄清楚如何使用Java中的标准验证方法来做到这一点:

SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
Schema schema = schemaFactory.newSchema(... /* the .xsd source */);
Validator validator = schema.newValidator();
DocumentBuilderFactory ...
DocumentBuilder ...
Document document = DocumentBuilder.parse(... /* the .xml source */);
try {
    validator.validate(new DOMSource(document));
    ...
} catch (SAXParseException e) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

我已经玩弄了至少从SAXParseException获取行号和列号的想法,但是在验证错误时它们总是设置为-1,-1.

java xml xsd

5
推荐指数
1
解决办法
1512
查看次数

标签 统计

java ×1

xml ×1

xsd ×1