JAXB - 忽略中间元素
Posted
技术标签:
【中文标题】JAXB - 忽略中间元素【英文标题】:JAXB - Ignore intermediate element 【发布时间】:2021-11-20 00:52:33 【问题描述】:我能否以忽略未知中间元素的方式将 JAXB 结构映射到 XML 结构?
@XmlRootElement(name="foo")
public class Foo
@XmlElement(name="bar")
Bar bar;
要匹配类似于 XML 的
<foo>
<unknown>
<bar/>
</unknown>
</foo>
【问题讨论】:
我认为JAXB
不可能自动忽略该元素。您可以使用JAXB Moxy
并使用@XmlPath("unknown/bar")
来避免创建额外的类,或者您可以尝试创建@XmlJavaTypeAdapter
并忽略它并仅获取内部值。
【参考方案1】:
我做到了
使用 javax.xml.parsers.DocumentBuilder 解析 XML String 得到根节点 为标签名为“bar”的元素编写了 XML 树的广度优先搜索 然后使用 javax.xml.bind.Unmarshaller 将该节点解组到我的 JAXB 对象中。【讨论】:
以上是关于JAXB - 忽略中间元素的主要内容,如果未能解决你的问题,请参考以下文章