使用Jaxb

时间:2019-02-28 01:33:52

标签: java xml jaxb

尝试解析格式错误的xml(我无法更改)时遇到以下问题,我不知道该怎么做。

<error type="a_type_one " rootCauseType="rootCause">
   some text here
<cause type="a_type_two">
  description of the error cause here
  <cause type="a_type_three">again description of the error</cause>
</cause>
</error>

我只想将所有原因错误映射到java bean中(因为标记是递归构造的),因此我创建了这些类。

@XmlRootElement(name = "error")
@XmlAccessorType(FIELD)
@Data
@JsonInclude(NON_NULL)
@NoArgsConstructor
public class Error {

  @XmlAttribute private String type;

  @XmlAttribute private String rootCauseType;

  @XmlElement private Cause cause;
}

还有

@XmlRootElement(name = "cause")
@XmlAccessorType(FIELD)
@Data
@NoArgsConstructor
public class Cause {

  @XmlElement
  private Cause cause;

  @XmlAttribute private String type;

  // here needs to map the error description
  private String description;

  public Cause(String description) {
    this.description = description;
  }
}

我能够在所有标签中映射type和rootCauseType,但是我无法获得它们之间的错误描述。我的意思是“此处描述错误原因”和“再次描述错误”。 我的想法是将其映射到描述或某些String属性...

有什么想法吗? 预先感谢。

0 个答案:

没有答案