2
我正在使用JAXB將數據序列化爲來自Java對象的XML。如果未經授權的用戶請求xml,我不想創建一些節點。使用JAXB封送時抑制XML節點
這可以使用JAXB來完成嗎?
一些非JAXB解決方案,我能想到的是:用正則表達式或XSLT生成XML後
- 刪除節點。
- 將與隱藏節點對應的對象的值設置爲空。
建議的方法是什麼?
我正在使用JAXB將數據序列化爲來自Java對象的XML。如果未經授權的用戶請求xml,我不想創建一些節點。使用JAXB封送時抑制XML節點
這可以使用JAXB來完成嗎?
一些非JAXB解決方案,我能想到的是:用正則表達式或XSLT生成XML後
建議的方法是什麼?
注:我是EclipseLink JAXB (MOXy)鉛和JAXB 2(JSR-222)專家組的成員。
使用任何JAXB實現
您可以使用XSLT,並充分利用JAXBSource
對象作爲輸入轉變。
JAXBSource source = new JAXBSource(jaxbContext, myPOJO);
Result result = new StreamResult(System.out);
transformer.transform(source, result);
使用莫西JAXB
如果您正在使用JAXB的莫西執行,你可以使用它的XML元數據來第二映射應用到您的對象模型。
詳細示例