【问题标题】:Get object for element that has failed XSD validation获取未通过 XSD 验证的元素的对象
【发布时间】:2013-05-26 07:58:38
【问题描述】:

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

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

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

【问题讨论】:

标签: java xml scala xsd sax


【解决方案1】:

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

请注意,在一般情况下,您建议执行的操作是不安全的。举一个简单的反例,取一个整数类型的元素X,它必须在其父元素中至少出现一次。如果您在其中放入一个字符串值,它现在将无法通过验证。如果删除它,文档将违反 minOccurs 约束。

您可以尝试删除元素并从头开始验证,但最终可能会陷入很长的循环并且不会得到好的结果。

【讨论】:

  • 这是一个很好的答案,谢谢。我会试试那个答案的代码。
猜你喜欢
  • 2016-11-15
  • 1970-01-01
  • 2016-11-29
  • 2013-12-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-05
  • 2020-04-06
相关资源
最近更新 更多