【发布时间】:2015-07-22 04:52:18
【问题描述】:
我需要解析一个正在生成且没有根元素的 xml 文件。请帮助我如何解析该xml。下面的示例 Xml 内容。资源标签计数不固定,它将是 varry 。在使用 Resource 类进行解组时,通过解析 2nd Resource 标签获取错误。
@XmlRootElement
public class Resource {
private String name;
private String checkin;
private Metrics metrics;
private Violations violations;
/**
* @return the name
*/
public String getName() {
return name;
}
/**
* @param name
* the name to set
*/
@XmlAttribute(name="Name")
public void setName(String name) {
this.name = name;
}
/**
* @return the checkin
*/
public String getCheckin() {
return checkin;
}
/**
* @param checkin
* the checkin to set
*/
@XmlAttribute
public void setCheckin(String checkin) {
this.checkin = checkin;
}
/**
* @return the metrics
*/
public Metrics getMetrics() {
return metrics;
}
/**
* @param metrics
* the metrics to set
*/
@XmlElement
public void setMetrics(Metrics metrics) {
this.metrics = metrics;
}
/**
* @return the violations
*/
public Violations getViolations() {
return violations;
}
/**
* @param violations
* the violations to set
*/
@XmlElement
public void setViolations(Violations violations) {
this.violations = violations;
}
<resource Name="src/samp1.js" checkin="true">
<metrics>
<metric Metric_Domain="Size" Name="Lines" Value="8260.0" />
<metric Metric_Domain="Size" Name="Generated Lines" Value="" />
</metrics>
<resource>
<resource Name="src/samp2.js" checkin="true">
<metrics>
<metric Metric_Domain="Size" Name="Lines" Value="860.0" />
<metric Metric_Domain="Size" Name="Generated Lines" Value="" />
</metrics>
<resource>
<resource Name="src/samp3.js" checkin="true">
<metrics>
<metric Metric_Domain="Size" Name="Lines" Value="260.0" />
<metric Metric_Domain="Size" Name="Generated Lines" Value="" />
</metrics>
<resource>
----
----
----
----
goes on
JAXBContext jaxbContext = JAXBContext.newInstance(Resource.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
return (Resource) jaxbUnmarshaller.unmarshal(xml file path);
【问题讨论】:
标签: java xml xml-parsing unmarshalling