0

次のような XML ファイルがあります。

<Library>
  <Book id="123">
    <Title>Python Does Everythig</Title>
    <Author>Smith</Author>
  </Book>

  <Book id="456">
    <Title>Postgres is Neat</Title>
    <Author>Wesson</Author>
  </Book>
</Library>

そして、XSL を使用して XML をパイプ区切り形式に変換し、それを を使用して一括読み込みしpsycopg2.copy_from、書籍ごとに 1 つのレコードを作成する素敵な小さな python プログラムを手に入れました。すべては順調です。

しかし、書籍レコードの作成に使用された実際の XML を書籍レコード自体に追加したいとも考えています。言い換えれば、本のテーブルを次のように表示したいのです。

create table book (
    id       integer      not null primary key,
    title    varchar(100) not null,
    author   varchar(100) not null,
    xml_data xml          not null
);

行を挿入するために SQL を使用していた場合、それは非常に簡単です。使用するだけ XMLPARSE ( CONTENT ?)です。

を使用するときに同等のことを行う方法はありcopy_fromますか?

4

1 に答える 1

0

Copy_from は PostgreSQL の一括 COPY ステートメントをラップしますが、これはサポートされていません (ちなみに csv はサポートされています)。

正直なところ、アプリで XML を解析し、データをデータベースに送信するだけです。

于 2013-04-01T10:15:29.017 に答える