本文介绍了处理< property key ='name'value ='Foo'/>而不是< name> Foo</name>与JAXB的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有如下所示的XML:
I have XML that looks like this:
<thing>
<property key='name' value='Foo' />
</thing>
我想用JAXB阅读.
我知道我能做
@XmlRootElement(name="thing")
public class Thing{
@XmlElement(name="name")
public String name;
}
如果XML看起来像
<thing>
<name>Foo</name>
</thing>
,但是我该如何处理上面的XML布局?
, but what do I do for the XML layout above?
推荐答案
注意:我是 EclipseLink JAXB(MOXy)的负责人,并且是JAXB 2.X的成员( JSR-222 )专家组.
Note: I'm the EclipseLink JAXB (MOXy) lead, and a member of the JAXB 2.X (JSR-222) expert group.
在这种情况下,您可以使用MOXy的@XmlPath
扩展名:
You can use MOXy's @XmlPath
extension for this use case:
@XmlRootElement(name="thing")
public class Thing{
@XmlPath("property[@key='name']/@value")
public String name;
}
有关更多信息:
- http://bdoughan. blogspot.com/2011/03/map-to-element-based-on-attribute-value.html
- http://bdoughan.blogspot.com/2011/05/specifying-eclipselink-moxy-as-your.html
- http://bdoughan.blogspot.com/2011/03/map-to-element-based-on-attribute-value.html
- http://bdoughan.blogspot.com/2011/05/specifying-eclipselink-moxy-as-your.html
这篇关于处理< property key ='name'value ='Foo'/>而不是< name> Foo</name>与JAXB的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!