我目前正在尝试映射XML文件的一部分,但我找不到合适的方法。
这里是XML文件:
<tag.1>
...
<tag.2>
<tag.3>
<ns:tag.4 xmlns:ns="" att.4.1="" att.4.2=""/>
<ns:tag.5 xmlns:ns="" att.5.1="" att.5.2=""/>
<ns:tag.6 xmlns:ns="" att.6.1="" att.6.2=""/>
<ns:tag.7 xmlns:ns="" att.7.1="" att.7.2=""/>
<ns:tag.8 xmlns:ns="" att.8.1="" att.8.2=""/>
...
<ns:tag.9 xmlns:ns="" att.9.1="" att.9.2=""/>
<ns:tag.9 xmlns:ns="" att.9.1="" att.9.2=""/>
<ns:tag.9 xmlns:ns="" att.9.1="" att.9.2=""/>
...
</tag.3>
</tag.2>
这是目标OO结构:
class Foo {
private Tag.4 tag.4;
private Tag.5 tag.5;
private Tag.6 tag.6;
private Tag.7 tag.7;
private Tag.8 tag.8;
private List<Tag.9> listTag.9;
}
class Tag.4 {
private String att.4.1;
private String att.4.2;
}
class Tag.5 {
private String att.5.1;
private String att.5.2;
}
class Tag.6 {
private String att.6.1;
private String att.6.2;
}
class Tag.7 {
private String att.7.1;
private String att.7.2;
}
class Tag.8 {
private String att.8.1;
private String att.8.2;
}
class Tag.9 {
private String att.9.1;
private String att.9.2;
}
我已经尝试过一些没有成功的方法:
@XmlRootElement(name="tag.1")
class Foo {
@XmlElement(namespace="bar")
private Tag.4 tag.4;
}
@XmlRootElement(name="tag.3")
class Foo {
@XmlElement(name="tag.4", namespace="bar")
private Tag.4 tag.4;
}
@XmlRootElement(name="tag.1/tag.2/tag.3")
class Foo {
@XmlElement(name="tag.4", namespace="bar")
private Tag.4 tag.4;
}
@XmlRootElement(name="tag.1")
class Foo {
@XmlElement(name="tag.2/tag.3/tag.4" namespace="bar")
private Tag.4 tag.4;
}
总之,我尝试访问比根低2级的标签,而不必映射中间级别。
以下是我正在处理的XML文件的链接:YQL query
感谢您阅读并抱歉任何错误。