我必須爲Java中的SOAP服務輸入構建一個XML文件。輸入xml可以包含至少1000個標籤。什麼是構建XML的最佳方式?我有XSD文件,但使用JAXB有點複雜。 XMLStreamWriter是一個很好的選擇嗎?大型XML文件構建器的最佳實踐
0
A
回答
0
XMLStreamWriter是用於從Java應用程序編寫XML的更好的API之一,但它有一些怪癖(例如,它的命名空間處理有點奇怪),您可能會發現將它包裝在一個方便的API中是值得的知道您正在編寫的文檔類型,例如它使用什麼命名空間。
XMLStreamWriter接口的優點之一是有很多實現可供選擇。例如,Saxon有一個實現,可以讓您完全控制所有XSLT/XQuery序列化選項和Saxon擴展(例如,甚至可以控制屬性的輸出順序!)
我遇到的所有事件基於API的是,遲早你會發現自己忘記寫一個結束標籤,而且調試起來可能非常棘手。使用包裝API強制你在endElement()的調用中包含元素名稱對調試非常有用;如果打開調試,則可以保留一堆元素名稱並檢查endElement()是否寫入了正確的標記;在調試關閉的情況下,您只需放下此檢查。
使用JAXB的序列化當然是更高層次的,但缺點是它會減少控制權。
相關問題
- 1. 從oracle生成大型xml文件:最佳實踐
- 2. 構建Server最佳實踐
- 3. 構建「大型」Rails應用程序的最佳實踐
- 4. laravel 4文件結構最佳實踐
- 5. CarrierWave文件夾結構最佳實踐
- 6. XML架構位置最佳實踐
- 7. Django的模型結構 - 最佳實踐
- 8. 我需要解析一個大的XML文件。最佳實踐?
- 9. Symfony2:大型表格的最佳實踐
- 10. 大型WCF服務的最佳實踐?
- 11. 構建SSO系統的最佳實踐
- 12. 星型架構設計/最佳實踐
- 13. 最佳實踐(SQL,XML,...)
- 14. XML集合最佳實踐
- 15. XML引用最佳實踐
- 16. Spring + JSP url構建最佳實踐
- 17. 構建個人php cms-最佳實踐
- 18. Postgres架構最佳實踐
- 19. CSS重構最佳實踐
- 20. 構建我的類型的最佳實踐
- 21. CSS大綱最佳實踐
- 22. Rails模型最佳實踐
- 23. 最佳實踐構建大基於HTML項目
- 24. 大型C++項目的文件/文件夾佈局的一些最佳實踐
- 25. 構建C程序(用於CMake構建)的最佳實踐
- 26. 的Team Foundation Server:多個構建控制器最佳實踐
- 27. 架構最佳實踐(模型控制器和圖層)
- 28. 結合JS文件的最佳實踐
- 29. Django的最佳實踐文件上傳
- 30. 本地文件的Android最佳實踐
如果您有XSD文件,則可以使用JAXB片段和流以及對象的迭代器。如果感興趣,我會發布代碼。 –
這取決於有多少信息可能會改變。如果只有一行數千人發生變化,靜態文件可能是最好的解決方案。平均修改我建議freemarker,只有在大規模修改一個複雜的框架應該是解決方案。 –
xml文件大小有多大?你可以爲jvm分配多少堆內存? –