【发布时间】:2013-12-09 11:47:37
【问题描述】:
我的问题与其他人之前提出的问题相似,但事实是我还无法解决我的问题。 我有一个 XML 文档,我需要将它转换(解组)为一个对象,并且我正在使用 JAXB 注释来做这件事。到目前为止,一切都很好,但是我无法从中获得价值。 让我编码而不是说话。
我的 Java 对象:
@XmlRootElement
public class Product {
private String date_upd;
private MetaDescription meta_description;
//------------Static classes for sub nodes------------------
@XmlAccessorType(XmlAccessType.FIELD)
static class MetaDescription{
private List<Language> language ;
}
@XmlAccessorType(XmlAccessType.FIELD)
static class Language{
@XmlAttribute(name="id")
private String id;
@XmlValue
private String language = null;
void setLanguage(String language){
this.language = language;
}
String getLanguage(){
return this.language;
}
}
public String getDate_upd() {
return date_upd;
}
/**
* @param date_upd the date_upd to set
*/
@XmlElement
public void setDate_upd(String date_upd) {
this.date_upd = date_upd;
}
/**
* @return the meta_description
*/
public MetaDescription getMeta_description() {
return meta_description;
}
/**
* @param meta_description the meta_description to set
*/
@XmlElement
public void setMeta_description(MetaDescription meta_description) {
this.meta_description = meta_description;
}
}
我的 XML 文档有以下片段:
<product>
<date_upd>
<![CDATA[2013-12-06 18:03:59]]>
</date_upd>
<meta_description>
<language id="1" xlink:href="http://demo1.it2care.com/shop/api/languages/1">
<![CDATA[product1]]>
</language>
<language id="2" xlink:href="http://demo1.it2care.com/shop/api/languages/2">
<![CDATA[produto1]]>
</language>
</meta_description>
</product>
它有更多的属性,但只有这些是相关的。 'date_upd' 正在正确解组,但我无法为 'meta_description' 解决它。我在“元描述”字段中获得了“语言”对象的列表,但我无法获得“语言”的值,尽管我从“语言”节点获得了“id”属性。 对于呈现的 XML 示例,“meta_description”是一个包含 2 个元素的列表。在两个列表元素上,“ID”都已正确填写,但我从“语言”中得到“”,而不是“产品1”。
有什么提示吗?提前非常感谢。
【问题讨论】: