簡體   English   中英

使用不同的模式將數據轉換為xml

[英]Transform data to xml with different schemas

我需要將記錄列表(java objs)轉換為XML輸出。 XML模式可以根據請求類型進行更改,並且xml輸出需要采用不同的格式,並根據請求參數使用不同的元素(例如,請求A->以A <A><aa>name</aa></A>格式生成xml。 <A><aa>name</aa></A>請求B->格式B <B><bab>name</bab></B> )。 現有框架使用JAXB,但是數據對象與一個XML模式緊密耦合。

我們正在嘗試進行重構以使其具有靈活性,以便基於請求類型,我們可以生成不同的xml輸出。 即相同的數據->多種輸出格式。 我們還期望有更多的xml模式,因此我們需要保持它的靈活性。

如果可以的話,請讓我知道哪種框架最適合這種情況。 對於龐大的架構和數據文件,這將是一個好的解決方案。 謝謝!

因此,您擁有域模型和一個或多個集成模型(輸出格式)。 我假設,當您創建響應(集成模型)時,您使用了域模型中的某種適配器(如果沒有,則應考慮這一點)。 對於多種集成模型(響應類型/輸出格式),我將保持這種方式。

對於每種響應類型,都有一個專用的集成模型(例如,從XSD生成它,例如使用JAXB),並有一個從您的域模型到該集成模型的適配器。 然后,根據請求類型,選擇一個適配器並產生響應。

如果您希望它真正面向未來,則應考慮為應用程序擁有自己的集成模型。 這將防止您在域模型更改時對適配器進行更改,例如:

域模型-> [trafo]->通用集成模型-> [trafos]->第三方集成模型

順便說一下,轉換器不需要用一種特定的技術來實現,而可以使用最適合特定情況的轉換器。 一個適配器可以使用JAXB生成的Java類,另一個可以使用XML轉換。

您可以考慮使用Apache Camel之類的框架來實現集成層。

暫無
暫無

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

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