动态xml进入mongoDB

我目前正在开发一个应用程序(Java),并且可以找到解决我的问题的最佳方法。 我需要在mongoDB中存储数据(当bson格式支持时使用实际数据类型),我获取xml文件中的数据,以及他的模式(两者都是在运行时动态创建的,所以我不知道它里面有什么)。

更具体地说,我没有关于字段,数据名称的任何信息。 用户可以动态地创建新的“对象”(应用程序中没有java类)。 当用户创建一个新对象时,我会收到一个描述该对象的xml架构。 因此,当用户尝试添加此类型的对象(数据为新实体的xml格式)时,我使用xml架构validation它,现在我需要将对象存储在mogoDB中。 所以我需要能够在bson(或使用mongo java驱动程序的基本java对象)中转换我的xml并在查询后转换回xml。

例:

如果用户想要管理人员,他将定义人员架构:

 ... ... ... ...  

在这里,我得到了xsd(一个有效的xsd格式,包含所有信息)。 然后,当用户添加人员时,我得到的数据如下:

  John Smith 32 ...  

所以我想知道最好的方法是不是像jackson:xml – > Pojo – > bson,或者使用XSLT xml – > json / bson(带有数据类型的编码)。 或者只需手动读取xml文件和我的基本java对象。

有没有人就如何实施其中一种解决方案或更好的解决方案提出一些建议?

最好的方法似乎是XML < - > JSON请参阅: 在Java中将XML转换为JSON的最快方法

然后你可以使用com.mongodb.util.JSON解析和序列化去JSON < - > BSON。

我相信你可以使用MongoJack神奇地将你的XML变成MongoDB理解的东西(反之亦然)