生成XSD和数据的XML,而跳过生成类

问题描述:

我有以下的重现模式:我所说的黑盒子的一些参数,并得到其结果是List<Map<String, Object>>(或东西等效),其中每个地图都有相同的keySet。然后,我预计将产生形式的XML生成XSD和数据的XML,而跳过生成类

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

名单和项目元素的名称和某些关键是否会子元素或属性项的个别任务有所不同。我想尽量减少Map键到XML的手动连线。

我想象起初的方式是创建一个形容地图键元素/属性映射XML模板。然后我认为这就是XSD的用途,因此我可以使用该格式来定义模板。但是我找不到从XSD生成XML的好解决方案。我看了一下JAXB,它似乎太重量级的我的情况:我不需要的Java类 - 具有域对象将是不错,但我从来没有跟任何数据。然后,我必须首先将数据映射到类,这似乎是向编组人员倾倒数据时效率低下的问题。第二,我想保持更大的灵活性 - 如果数据格式(即的keySet每个地图)改变我只需要修改架构和无法再生的来源和重建。

感谢您在:)

+0

只是想多一点吧,我想,这也应该是可能的JAXB要做到这一点,但你需要彻底地描述预期的格式多一点,为我们确定它是否是明智的通过自定义JAXB编组来完成此操作。 – tveon 2012-03-08 12:39:32

阅读我记得做了一年这样的事情多前。我所做的是编写和XSLT,它接受了一些参数并使用JAXP处理它来生成XML。

如果你是新的XSL,它可能是一个有点棘手,但也有很多优秀的文档的左右。 :)