在数据库中存储XML文件

时间:2010-11-18 15:30:32

标签: java xml database xml-database

我必须在Java 6中创建桌面应用程序。程序应该能够使用XML文件(发送/接收)与其他系统进行通信。每个XML文件都与其XSD连接,标签描述其内容,用户名和文档状态。应用程序应提供搜索,修改等XML功能。

问题是:我应该如何存储保留逻辑连接的所有这些信息?

我想出了一个使用XML数据库存储它的想法--BaseX。换句话说,将包含连接到它们的信息的XML文件存储在一个大的XML(数据库)文件中。

示例数据库:

<?XML VERSION="1.0"?>
<mySampleRecord id="1">
<XMLcontent> // Content of XML file (...) </XMLcontent>
<XMLschema> // Content of XSD file (...) </XMLschema>
<tags>j2ee java xml</tags>
<username>File Owner</username>
<status>received</status>
</mySampleRecord>
<mySampleRecord id="2">
<XMLcontent> // Content of XML file (...) </XMLcontent>
<XMLschema> // Content of XSD file (...) </XMLschema>
<tags>doc xls mdb</tags>
<username>Admin</username>
<status>sent</status>
</mySampleRecord>

我还想知道BaseX是否可以读取<XMLContent>节点,然后将其内容视为XML,使我能够执行XQuery操作。

希望它可以理解;)

感谢任何提示和建议。

2 个答案:

答案 0 :(得分:1)

不太明白。 :)

所以你想在另一个XML文件中存储几个带有相应模式的XML文件吗?

为什么这样?只需单独处理每个XML文件。 将它们作为.jml中的.xml文件...因此每个客户端都可以访问它。

欢呼声

答案 1 :(得分:0)

如果我理解正确你应该创建表格 带有字段的SAMPLE_RECORD id(PK) 用户名 状态

然后用字段创建表TAG record_id(FK到表记录) 标签

创建类SampleRecord 现在编写解析XML并创建SampleRecord实例的代码。 然后实现将SampleRecord的集合存储在DB中并从那里读取它的逻辑。您既可以使用ORM,也可以使用旧的简单JDBC。

就是这样。