亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 Jackson/FasterXML 讀取 XML 時如何忽略某些元素?

使用 Jackson/FasterXML 讀取 XML 時如何忽略某些元素?

慕哥9229398 2023-09-13 10:57:12
我想跳過除 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);


查看完整回答
反對 回復 2023-09-13
  • 1 回答
  • 0 關注
  • 89 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號