我目前正在开发一个应用程序(Java),并且可以找到解决我的问题的最佳方法。我需要将数据存储在 mongoDB 中(使用 bson 格式支持时的实际数据类型),我在 xml 文件中获取数据,以及他的模式(两者都是在运行时动态创建的,所以我不知道里面有什么)。
更具体地说,我没有关于字段和数据名称的任何信息。用户可以动态地创建新的“对象”(应用程序中没有 java 类)。当用户创建一个新对象时,我会收到一个描述该对象的 xml 模式。因此,当用户尝试添加这种类型的对象(新实体的数据采用 xml 格式)时,我使用 xml 模式对其进行验证,现在我需要将对象存储在 mogoDB 中。所以我需要能够在bson(或带有mongo java驱动程序的基本java对象)中转换我的xml,并在查询后转换回xml。
例子:
如果用户想要管理人员,他将定义人员模式:
<People>
<Name>...</Name>
<Lastname>...</Lastname>
<Age>...</age>
...
</People>
在这里,我得到了 xsd(包含所有信息的有效 xsd 格式)。然后,当用户添加人员时,我会得到如下数据:
<People>
<Name>John</Name>
<Lastname>Smith</Lastname>
<Age>32</Age>
...
</People>
所以我想知道最好的方法是像jackson:xml - > Pojo - > bson,还是使用XSLT xml - > json/bson(带有数据类型编码)。或者简单地通过手动读取 xml 文件和我的基本 java 对象。
有人对如何实施其中一种解决方案或更好的解决方案有一些建议吗?