假设我在下面有一个XML
<?xml version="1.0" encoding="UTF-8"?>
<results application="web" hostname="WIN">
<test-node>
<element>1</element>
</test-node>
<node1 browser="chrome">
<element2>2</element2>
</node1>
</results>
我想使用 Spring Batch 将此 XML 中的大多数属性写入 MySql 数据库。所以我创建了一个如下所示的类
@XmlRootElement(name = "results")
public class LowLevelSuiteFields {
private String application;
private String hostName;
@XmlAttribute(name = "application")
public String getApplication() {
return application;
}
public void setApplication(String application) {
this.application = application;
}
@XmlAttribute(name = "hostname")
public String getHostName() {
return hostName;
}
public void setHostName(String hostName) {
this.hostName = hostName;
}
}
问题是我还想访问node1
中的属性browser
。我不能再有@XmlRootElement(name = "node1")
然后做@XmlAttribute(name = "browser")
原因是我只创建了一个实现ItemPreparedStatementSetter<LowLevelSuiteFields>
PreparedStatementSetter
......所以我不能只为另一个XmlRootElement
创建另一个类
请帮忙。
实际上,您应该使用元素node1
的@XmlElement
注释。
例如,看看来自Vogella的JAXB教程