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

标签 java xml scala xsd sax

我正在根据 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/

相关文章:

python - 如何将嵌套 xml(与子项同名)解析为 CSV?

scala - 将单个第 3 方 jar 发布到 sbt 中的本地存储库

scala - 在 Scala 中注释构造函数参数

java - 在 Java 中使用 Akka 的 REST API

java - PDF PrinterJob 获取作业状态

java - 部署规则集和 Java 7u51

xml - 戈朗 : Undefined field in struct error

xml - Notepad++ XML 自动完成/添加结束标记?

java - 从asynctask调用activity的方法

java - 从 Redis 数据库转换为 java 中的日期