I need to parse an xml file which is generating and it doesnt have root element. Please help me how to parse that xml. Sample Xml content below. Resource tag count is not fixed and it will be varry . While doing unmarshall using Resource class getting error by parsing 2nd Resource tag.
@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);