JAXB 忽略 xml 标记属性

2022-01-10 00:00:00 xml xml-parsing java jaxb moxy

我使用 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;
}

相关文章