当前位置: 首页 > 面试题库 >

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

杭柏
2023-03-14
问题内容

将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,因为没有自然主键,所以我添加了一个自动生成的主键。



 类似资料:
  • 我在使用文本文件创建SQLite数据库时遇到了问题。我应该创建一个成员列表,其中包含以下内容:(成员)号、名字、姓氏、地址和电话号码(如果有的话)。我正在使用方法创建db,但我似乎无法让它正常工作。 文本文件是这样填充的('...'应该意味着列表中还有其他文件): 正如你可能看到的,一些成员没有电话号码,我认为这是导致db无法填充的原因。我之所以相信这一点,是因为我试图用所有信息制作自己的列表,这

  • PostgreSQL 创建数据库可以用以下三种方式: 1、使用 CREATE DATABASE SQL 语句来创建。 2、使用 createdb 命令来创建。 3、使用 pgAdmin 工具。 CREATE DATABASE 创建数据库 CREATE DATABASE 命令需要在 PostgreSQL 命令窗口来执行,语法格式如下: 例如,我们创建一个 runoobdb 的数据库: created

  • 这个代码不起作用。谁能告诉我在哪里可以找到用C#动态创建Postgresql数据库和表的例子? 数据库已创建,但我在创建表时遇到一个无声的失败。

  • 问题内容: 使用SQLAlchemy,将创建一个Engine对象,如下所示: 如果to参数(在这种情况下为)中指定的数据库不存在,则访问将失败。如果指定的数据库不存在,是否可以告诉SQLAlchemy创建一个新数据库? 问题答案: 在postgres上,通常默认情况下存在三个数据库。如果您能够以超级用户身份(例如,角色)进行连接,则可以连接到或数据库。默认的pg_hba.conf只允许名为unix

  • 问题内容: 我是Web服务的新手。请提出建议,如何在Java中使用Jersey JAX-RS从数据库中插入和检索数据? 问题答案: 下面是一个示例 JAX-RS 服务的示例,该示例使用 JPA 进行持久性而使用 JAXB 进行消息传递时,实现为会话Bean 。 客户服务 顾客 以下是其中一个实体的示例。它包含JPA和JAXB批注。 想要查询更多的信息 第1部分-数据模型 第2部分-JPA 第3部分

  • 问题内容: 您能帮忙解决这个问题吗? 我正在尝试创建然后使用一个名为TIGER的数据库。 如果我在MySQL中创建数据库并且运行完美,我没有问题。 我想做的是从Java创建它。这样,当首次运行代码时,它将在初始启动过程中创建数据库。如果可能的话,我想用一种干净的方法将其装箱。 有人可以告诉我您实际将代码放置在哪里 这是代码 这是创建数据库的代码 在此先感谢,感谢您的帮助。 因为我是一个长期读者但还