日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

java 中 Object XML 互转,最终选择Xstream

發布時間:2024/9/19 asp.net 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 中 Object XML 互转,最终选择Xstream 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

  • spring boot 2.0.0 RELEASE
  • maven 3.5.0
  • 項目中需要進行 Object 與 XML 的互轉。為此嘗試了幾個互轉工具,進行記錄。
  • 耗費了一天的時間,將FasterXML、Caster、JAXB、Xstream都嘗試了一遍。過程很痛苦。記錄一下。
  • 最終選擇Xstream(未評價性能,只是看能不能滿足功能要求。此項目暫無性能要求。)。

FasterXML

  • Jackson可以輕松的將Java對象轉換成json對象和xml文檔,同樣也可以將json、xml轉換成Java對象。
  • 嘗試版本:jackson-dataformat-xml 2.9.0
  • 項目地址:https://github.com/FasterXML/jackson-dataformat-xml
  • 無復雜要求的 Object 與 XML 的互轉可以勝任,復雜的還是不可以的。具體可以參考 https://github.com/FasterXML/jackson-dataformat-xml 中列出的限制。
  • 如果 Object 與 XML 的互轉受自己控制,可以選擇FasterXML。使用起來挺簡單的。還能支持json格式。
  • 如果 Object 與 XML 的互轉不受自己控制,比如:與外部系統通過xml進行數據交互時,不建議用啊。你也不知道對方會不會來個炫技啥的,出現個識別不了的XML時,還得換工具,比較麻煩,還是防微杜漸吧。

Spring Marshalling XML using O/X Mappers

  • 嘗試版本:Spring 5.0.4.RELEASE
  • Spring提供的 Object 與 XML 的互轉工具。吐槽一下,單獨使用時,真心不好用。或許是未考慮單獨提供出來用。
  • Spring只是統一了接口,具體的實現有:JAXB、Caster、JiBX、Xstream
  • Caster:已經放棄支持了。“Spring Framework 4.3.13, due to the lack of activity on the Castor project”
  • JAXB:與Spring集成后,無法設置NamespacePrefixMapper。
  • JiBX:未嘗試集成。
  • Xstream:未嘗試集成。

JAXB

  • 嘗試版本: JAXB 2.3.0
  • 項目地址:https://github.com/javaee/jaxb-v2
  • 基本上能夠滿足我的要求,用著挺好用。也能跟spring集成。支持注解,注解使用起來方便,注解支持的也多。
  • 唯一缺點:不能將NameSpace的前綴設置成空(”“/null)。設置了也無效。(設置成其它的,是有效的)
  • 項目的git倉庫中,示例不少,這點真心不錯。
  • 對于需要將NameSpace的前綴設置成空(”“/null)時,放棄它吧。(花了半天時間,檢索了大量的文章,也沒能解決此事)

Xstream

  • 嘗試版本: xstream 1.4.10
  • 項目主頁:https://x-stream.github.io/index.html
  • 支持注解。
  • 支持List/Map。
  • 能夠設置NameSpace的前綴設置成空(”“/null)。
  • 能與Spring集成,也可以單獨使用。
與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的java 中 Object XML 互转,最终选择Xstream的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。