簡體   English   中英

xstream有條件地解組到一個類

[英]xstream conditionally unmarshall to a class

由於遺留(不幸的)原因,我們為2個不同的表示形式使用了相同的xml根。 使用xstream,我們如何讓解組器在解組時使用所需的類。

我正在考慮傳遞一些上下文(通過ThreadContext),以便xstream在解組期間將使用該信息來選擇正確的類,盡管我不確定從哪里開始。 任何建議都非常感謝。

筆記:

  • 兩種XML的根標簽都相同
  • 根標簽上沒有其他信息(屬性)可用於區分2個表示形式
  • 由於遺留原因,無法更改xml

理想情況下,我希望該解決方案可與Spring-OXM一起使用,但在需要時會采取捷徑

您預先知道要解析的兩種表示形式中的哪一種。

因此,您可以在開頭創建兩個xStream實例,並分別為它們配置轉換器和別名,並在每個表示形式中使用一個實例。

在我看來,這種方法比設置全局上下文變量然后在轉換器中包含一堆if並處理潛在的歧義更干凈,更可控。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM