Я хочу пропустить все узлы, кроме first_name, node100 и его дочерних элементов.У меня есть этот XML (На самом деле у меня много сотрудников, и у каждого тега сотрудника есть много узлов):
<employees>
<employee>
<first_name>John</first_name>
<last_name>Doe</last_name>
<age>26</age>
</employee>
<employee>
<first_name>Peter</first_name>
<last_name>Parker</last_name>
<age>30</age>
</employee>
</employees>
Я могу читать с использованием Jackson FasterXML.Я создал 2 POJOS для отображения выше XML-структуры
@JacksonXmlRootElement(localName = "employees") public final class Employees {
@JacksonXmlElementWrapper(localName = "employee", useWrapping = false)
private Employee[] employee;
//ommiteed getter and setters
public final class Employee {
@JacksonXmlProperty(localName = "id", isAttribute = true)
private String id;
@JacksonXmlProperty(localName = "first_name")
private String firstName;
@JacksonXmlProperty(localName = "last_name")
private String lastName;
@JacksonXmlProperty(localName = "age")
private int age;
Сейчас в производстве xml имеет 1000s узлов внутри узла
<employee>
<first_name>John</first_name>
<last_name>Doe</last_name>
<age>26</age>
<node1> </node1>
<node2> </node2>
..
<node100>
<values>
<value> val1 </value>
<value> val1 </value>
<value> val1 </value>
<value> val1 </value>
</node100>
</employee>
<node100> is also inside 4-5 nodes (which i have not shown above).
Так что мой вопрос заключается в том, как я могу просто прочитать first_name, last_nameи тег.Какова должна быть структура моего класса POJO?
Код для преобразования XML в POJO
System.out.println( " hello");
ObjectMapper objectMapper = new XmlMapper();
// Reads from XML and converts to POJO
Employees employees = objectMapper.readValue(
StringUtils.toEncodedString(Files.readAllBytes(Paths.get("C:\\Users\\91895\\Downloads\\File\\XmlFile.xml")), StandardCharsets.UTF_8),
Employees.class);
System.out.println(employees);