本文介绍了JAXB 忽略 xml 标记属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用 JAXB 读取 xml 文件.我有以下结构

I read xml files with JAXB. I have the following structure

<A>
  <B value="some string" />
</A>

我有以下型号

@XmlRootElement
class A{
  @XmlElement(name = "B", required = true)
  @XmlPath("B/@value")
  String b;
}

我在我的 b 实例变量中读取了 B 标签值属性.

I read the B tags value attribute in my b Instance variable.

但在一些 XML 文件中,我在结构 <#B/> 之后的 B 标记中有当 JAXB 解组文件时,我成为格式不正确的例外.javax.xml.stream.XMLStreamException: ParseError at [row,col]:[19,4]

But in some XML files i have in the B tag following Structure <#B/>While JAXB unmarshall the files i become exception that the format is not correct. javax.xml.stream.XMLStreamException: ParseError at [row,col]:[19,4]

推荐答案

你应该只有以下没有 @XmlElement 注释:

You should just have the following without the @XmlElement annotation:

@XmlRootElement
class A{
  @XmlPath("B/@value")
  String b;
}

这篇关于JAXB 忽略 xml 标记属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-23 20:00