1

语境

在我们的应用程序中,我们使用超级用户输入的查询从数据库中对数据进行快照,然后使用 XML 保存该快照中的数据如果我使用的是 .NET,我会使用 DataSet (+ DataTables) 和 DataViews,它们非常适合这个目的。但我在 Java 世界中,我的冲动选择是使用 XML 存储快照数据(这可以在项目的这个阶段轻松更改)。

问题 1

有没有什么东西可以让您在不必先为 Java 平台创建其结构的情况下对数据进行快照,就像 DataSet 为 .NET 所做的那样,并且允许稍后对该数据执行查询?我曾考虑将其存储在数据库中或使用 Apache Lucene,但对于这两种方法,我都必须管理数据库结构,而我不希望这样做。

问题2

假设您有以下 XML:

<data>
<record>
   <user>ravi</user>
   <age>32</age>
   <city>calgary</city>
</record>
<record>
   <user>spiderman</user>
   <age>68</age>
   <city>new york</city>
</record>
</data>

而且,在该数据上,我将执行以下查询:

age > 50 or city = 'new york'

该操作的结果将是原始 XML 的子集,其中仅包含与查询中的条件匹配的记录。

谢谢!

4

1 回答 1

1

有一个有点类似的东西叫做 a RowSet,它是 JDBC 规范的一部分。您可以获取数据并将它们缓存在CacheRowSet您可以操作甚至稍后更新的数据中。似乎还有一个FilteredRowSet, 以便您可以创建仅显示所需数据的视图。

这看起来与 ADO.NETDataViewDataSet. 另请注意,这RowSet在 Javaland 中并不流行。

还有几个指针:

于 2010-03-18T15:35:47.057 回答