我想跳過除 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 setterspublic 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 在節點內有 1000 個節點<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和tag。我的 POJO 類的結構應該是什么?將 XML 轉換為 POJO 的代碼System.out.println( " hello");ObjectMapper objectMapper = new XmlMapper();// Reads from XML and converts to POJOEmployees 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);
1 回答

浮云間
TA貢獻1829條經驗 獲得超4個贊
在您的類中定義要從 XML 讀取的元素。要忽略其他元素,請相應地配置 ObjectMapper:
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
添加回答
舉報
0/150
提交
取消