获取XSD验证失败的元素的对象

时间:2013-05-26 07:58:38

标签: java xml scala xsd sax

我正在针对XSD验证XML文档,然后想要删除导致文档失败的节点。

我正在遇到一个问题,因为SaxParseException似乎不包含任何有关我可以用来以编程方式删除节点的失败信息。

有没有办法从SaxParseException获取可以用来删除它的元素的引用?

1 个答案:

答案 0 :(得分:1)

请在此处查看答案:How to get the element of and invalid xml file with failed xsd Validation

请注意,您提议做的事情在一般情况下是不安全的。对于一个简单的反例,请使用整数类型的元素X,该元素必须在其父级中至少出现一次。如果你在其中放入一个字符串值,它现在将无法验证。如果删除它,文档将违反minOccurs约束。

你可以尝试删除元素并从头开始重新启动验证,但是你可能会在很长的循环中结束并且没有得到好的结果。