-2
我想在web服務中創建一個方法,該方法可以接收已使用JAXB創建的Java類的對象並生成另一個Java類的對象(使用JAXB創建) )使用XSL文件,該文件定義了我用於JAXB的XML文件之間的關係。使用XSLT進行java-to-java轉換
任何幫助?
非常感謝您
我想在web服務中創建一個方法,該方法可以接收已使用JAXB創建的Java類的對象並生成另一個Java類的對象(使用JAXB創建) )使用XSL文件,該文件定義了我用於JAXB的XML文件之間的關係。使用XSLT進行java-to-java轉換
任何幫助?
非常感謝您
你在正確的軌道上通過查看javax.xml.transform
的API。一個Transformer
需要它的輸入從實現Source
並將其輸出發送到實現Result
對象的對象,並且有支持你的用例JAXBSource
和JAXBResult
班後
MySourceJaxbClass sourceObject = // ...
Transformer transformer = transformerFactory.newTransformer(xsltSource);
JAXBContext context = // however you need to create your context
Source src = new JAXBSource(context, sourceObject);
JAXBResult res = new JAXBResult(context);
transformer.transform(src, res);
MyTargetJaxbClass resultObject = (MyTargetJaxbClass)res.getResult();
當然你不對於源和結果都必須使用相同的JAXBContext
- 如果它們是不相關的類層次結構,則爲每個結構使用單獨的上下文可能更有意義。
請閱讀關於提問的幫助 - http://stackoverflow.com/help/on-topic –
您是否嘗試過使用XSLT變換器? – Priyesh
嗨Priyesh,是的,我已經考慮過了。但我只找到了一個例子和指南,可以從XML文件或XML文件執行,而不是從Java類的一個實例到另一個Java類的新實例。有任何想法嗎? – user2417250