将XML数据(从网页获得)插入PostgreSQL数据库的最佳方法是什么? 我正在使用Java,需要一些帮助,以找到一种将这些数据读入数据库的好方法。
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,因为没有自然主键,所以我添加了一个自动生成的主键。
mynt