| 框架 | XML 長度(字符) | 輸出特徵 |
|---|---|---|
| XStream | 351 | 緊湊,無命名空間,類全限定名作為根元素,屬性直接映射為子元素 |
| TopLink JAXB | 589 (去除空白後) | 包含 XML 聲明、命名空間、SchemaLocation、xs 前綴等標準元數據 |
結論:XStream 輸出體積小約 40%,適合帶寬敏感場景;JAXB 輸出符合 XML 標準,利於互操作與驗證。
| 框架 | 序列化耗時 | 反序列化耗時 |
|---|---|---|
| XStream | 90,148 ms | 135,878 ms |
| TopLink JAXB | 34,872 ms | 56,557 ms |
結論:JAXB 在時間性能上顯著優於 XStream(快約 2.5-3 倍),適合高吞吐系統。
優點:J2EE 標準、運行性能優、支持 Schema 驗證、工具鏈成熟 (xjc 生成代碼)。
缺點:需 Schema 或註解配置、業務對象需轉換為 Schema 對象(或直接用 Schema 對象作業務對象)、輸出體積較大。
優點:零配置、API 簡單直觀、無需 Schema、輸出 XML 緊湊、支持自定義轉換器。
缺點:非標準、性能較弱、大對象圖反序列化時內存壓力大、對循環引用處理需額外配置。
現代項目中,Jackson XML、JAXB RI (Metro)、Simple XML 也是優秀替代者。若項目已使用 Jackson 處理 JSON,擴展 XML 支持只需添加 jackson-dataformat-xml 依賴,統一序列化棧。