我正在使用java SimpleXML来解析来自许多应用程序的XML。
许多应用程序都会为这种假设的标准创建奇特的XML实现,例如放入一个'启用的'不止一次标记。
在这种情况下,我只是想忽略第二个,因为它是一个错误并且与第一个具有相同的值,但是SimpleXML会抛出异常"元素'启用'已被使用"
如何防止这种情况?
这是抱怨的领域。
@Element(required = false)
protected boolean enabled = true;
XML非常庞大,所以不想发布它。有没有办法让SimpleXML报告导致错误的行号?
答案 0 :(得分:0)
尝试按照注释:
class RepeatElements {
@ElementListUnion({
@ElementList(entry = "enable",
type = Boolean.class, inline = true)
})
private ArrayList<Boolean> enables = new ArrayList<>();
public boolean isEnabled() {
// TODO check size
return enables.get(0).booleanValue();
}
}
使用一些&#34;输出类RepeatRlements&#34;
<repeatElements>
<enable>true</enable>
<enable>true</enable>
<enable>true</enable>
</repeatElements>