一尘不染

如何使用Java从PostgreSQL数据库中的现有数据库中创建新的XML文件

java

将XML数据(从网页获得)插入PostgreSQL数据库的最佳方法是什么?
我正在使用Java,需要一些帮助,以找到一种将这些数据读入数据库的好方法。


阅读 240

收藏
2020-09-08

共1个答案

一尘不染

Postgres具有(感谢DanielLyons指出)本机XML支持您可以用来存储表格。但是,如果您想手动切碎XML数据,则有多种可能性可以在数据库中表示XML数据。第一个问题应该是,如果您想要一个非常通用的解决方案,它将能够存储任何XML文档或特定于您的域的XML文档(即,仅允许具有特定结构的XML文档)。因此,您将获得非常灵活的通用表示形式,但是很难查询(所需的SQL将会非常复杂)。如果您有更具体的方法,则查询会更简单,但是每次您要存储另一种类型的文档或向现有文档中添加字段时,都需要创建新表或向现有目录中添加新属性;因此更改架构将更加困难(这是XML的一大优势)。这个演讲应该给你一些想法,有哪些不同的可能性。

另外,您可能会考虑切换到一些支持Xquery的数据库,例如DB2。使用XQuery(一种旨在处理XML的语言)进行本地查询的能力将大大简化工作。

更新:根据您的评论,您(链接到的)XML数据是完美的关系。可以将1:1映射到下表:

CREATE TABLE mynt (
    ID          SERIAL     ,
    myntnafn    CHAR(3)    ,
    myntheiti   Varchar(255) ,
    kaupgengi   Decimal(15,2) ,
    midgengi    Decimal(15,2) ,
    solugengi   Decimal(15,2) ,
    dagsetning  TimeStamp      
)

因此,任何mynt标签都将是表中的记录,而相应的子标签就是属性。我从您的数据中收集的数据类型可能是错误的。主要问题是IMO,因为没有自然主键,所以我添加了一个自动生成的主键。

2020-09-08