繁体   English   中英

从XSD和数据生成XML,同时跳过生成类

[英]Generate XML from XSD and data, while skipping generating classes

我有以下重复发生的模式:我调用了一个带有一些参数的黑匣子,得到的结果是List<Map<String, Object>> (或等效的东西),其中每个Map都具有相同的keySet。 然后,我期望产生以下形式的XML

<list>
    <item key1='value1' ...>
        <keyX>valueX</keyX>
    </item>
</list>

列表和项元素的名称以及某些键是项的子元素还是项的属性因具体任务而异。 我想尽量减少将Map键转换为XML的手工操作。

我最初的想象方式是创建一个XML模板,该模板描述到元素/属性映射的映射键。 然后我弄清楚了XSD的用途,因此我可以使用该格式定义模板。 但是我找不到从XSD生成XML的好的解决方案。 我看了一下JAXB,对于我的场景来说似乎太重了:我不需要Java类-拥有域对象会很好,除非我从不对数据做任何事情。 然后,我必须先将数据映射到这些类,这对于仅将其与编组器一起转储来说似乎是低效的。 其次,我想保持更大的灵活性-如果数据格式(即每个Map中的keySet)发生变化,则只需要修改架构,而无需重新生成源代码和进行重建。

感谢您阅读:)

我记得大约一年前做过这样的事情。 我所做的就是编写和XSLT,它采用了一些参数,并用JAXP处理了它以生成XML。

如果您不熟悉XSL,可能会有些棘手,但是周围有很多不错的文档。 :)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM