我正在根据 XSD 验证 XML 文档,然后想要删除导致文档失败的节点。
我遇到了一个问题,SaxParseException 似乎不包含任何有关我可以用来以编程方式删除节点的失败的信息。
有没有办法从 SaxParseException 中获取对元素的引用,并可用于将其删除?
最佳答案
在这里查看答案:How to get the element of and invalid xml file with failed xsd Validation
请注意,您打算做的事情在一般情况下是不安全的。作为一个简单的反例,采用整数类型的元素 X
,该元素必须在其父级中至少出现一次。如果您在其中放入字符串值,它现在将无法通过验证。如果删除它,文档将违反 minOccurs 约束。
您可以尝试删除该元素并从头开始重新启动验证,但最终可能会陷入很长的循环并且得不到好的结果。
关于java - 获取 XSD 验证失败的元素的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16757278/