Сначала вам нужно написать несколько классов Java, моделирующих ваш контент XML.Классы получают аннотации @JacksonXml...
, чтобы сообщить Джексону соответствие между XML и Java.Эти аннотации особенно важны, когда имя Java отличается от имени XML.
Один класс предназначен для представления корневого элемента <BESAPI>
:
@JacksonXmlRootElement(localName = "BESAPI")
public class BESAPI {
@JacksonXmlProperty(isAttribute = true, localName = "noNamespaceSchemaLocation", namespace = XMLConstants.W3C_XML_SCHEMA_INSTANCE_NS_URI)
private String noNamespaceSchemaLocation;
@JacksonXmlProperty(isAttribute = false, localName = "Employee")
@JacksonXmlElementWrapper(useWrapping = false)
private List<Employee> employees;
// public getters and setters (omitted here for brevity)
}
, а другой класс для представления <Employee>
element
public class Employee {
@JacksonXmlProperty(isAttribute=true, localName="Resource")
private String resource;
// public getters and setters (omitted here for brevity)
}
Затем вы можете использовать XmlMapper
Джексона для чтения содержимого XML.
XmlMapper xmlMapper = new XmlMapper();
File file = new File("example.xml");
BESAPI besApi = xmlMapper.readValue(file, BESAPI.class);
for (Employee employee : besApi.getEmployees()) {
System.out.println(employee.getResource());
}