0

我必须使用 xml 数据库 (Sedna) 来存储和检索 Java 对象。项目中的每个自定义类都存储在一个集合中。我有以下问题:我不确定对象是如何写入集合中的。也就是说,我不知道它们的确切xml结构,所以无法对它们进行适当的查询。

对于给定的集合,是否有一个查询会显示集合的内容?

Host h = new Host();
h.name = "test1";
h.freeSpace = 32;
String id1 = this.addHost(h);

//addHost method
try
{
  Collection c = this.findCollection("Hosts"); //gives me the Hosts collection
  if (c == null)
    return null;

  h.id = c.createId();
  BinaryResource br = (BinaryResource) c.createResource(h.id, BinaryResource.RESOURCE_TYPE);
  br.setContent(h);
  c.storeResource(br);
  return h.id;

} catch (XMLDBException e) {
  System.err.println("Error adding Host entry into the database: " + e.getMessage());
  return null;
}
4

1 回答 1

0

要查看数据库或集合或文档的结构(模式),请查询以下系统文档之一(检索元数据):

  • $schema– 所有文档和集合的描述性模式以及一些与模式相关的信息;

  • $schema_<name>– 名为 的文档或集合的描述性模式;

例如,运行se_term和执行doc('$schema_test')以获取“测试”文档/集合的结构。

你如何存储你的资源?请给我们一段代码。甚至很难理解您使用哪一种 API(XML:DB、XQJ、本机 Sedna Java API)。

于 2011-04-12T15:59:34.797 回答