java - 在spring boot java中从数据库生成xml
问题描述
我想生成/编组通过 jpa 查询从表中获得的 java 对象的流/集合到 xml。我正在处理这些 java 对象并将它们批量转换为 xml。我想知道如果 xml 的大小将来增长,其中哪些会表现得更好并且可以更好地扩展:1. STAX 2. JAXB 3. XSTream
或者是否有任何其他 api 可以将 java 对象转换为性能更好的 xml?我尝试浏览所有这些,但只能找到将 xml 解组/转换为 java 对象的示例。
解决方案
我喜欢使用 JAXB,我尝试过使用非常庞大的 xml,并且效果很好。
这将是一个将对象编组为字符串的示例。
这namespace
是Map
我在类和.xsd
相关对象之间进行映射的地方
private String marshallXml(Object request, Class<?> clazz) {
try {
JAXBContext context = JAXBContext.newInstance(clazz);
Marshaller marshaller = null;
if (context != null) {
marshaller = context.createMarshaller();
marshaller.setProperty("jaxb.noNamespaceSchemaLocation", namespacesMap.get(clazz));
StringWriter sw = new StringWriter();
marshaller.marshal(request, sw);
return sw.toString();
}
} catch (Exception e) {
return null;
}
return null;
}
的例子Map
:
Map<Class<?>, String> map = new HashMap<>();
map.put(MyClass.class,"http://urlWhereTheXSDisUploaded/MyClass.xsd");
推荐阅读
- javascript - 根据下拉列表自动选择两个选项
- php - 在替换 SQL 中包含帖子标题 wordpress
- c# - 如何设置/获取 UInt64 的位?
- javascript - Javascript - 如何等待结果
- r - 如何从文本中提取日期
- javascript - Javascript 将 M3U 播放列表显示为文本
- php - 在没有apache的nginx上安装php7.2-xml
- javascript - AngularJS errors.angularjs.org - 错误文档链接得到 404 错误
- android - LinearLayout 内的 FAB 位于 Fragments 之上
- javascript - jQuery:将特定类添加到 div 网格的最后一行