xml - 如何将 xml 文件“复制”到 PostgreSQL?
问题描述
尝试将 .xml 文件或 .txt 文件的内容导入 PostgreSQL 中的 .xml 或 char(variing) 列。该命令是
COPY wed4(xml) FROM '/h:/test.xml';
或者
COPY wed4(text) FROM '/h:/test.txt';
为什么这不起作用的新“借口”是 Postgre 无法打开文件;“无效参数”和“ SQL 状态:XX000。 ”
注意:我只是尝试使用 .txt 文件,因为我在处理 .xml 文件时遇到了很多麻烦,而且我(错误地)认为它们可能更容易使用并为我提供一些线索解决问题。最终我将不得不使用 psycopg2 导入大量 .xml 文件的内容,因为它们的内部结构并不完全相同,因此无法将内容轻松拆开并插入到表格中。然而,作为一整套 .xml 文本,它们可以被查询。
我在 pgadmin 中执行此操作,而不是在 psql shell 中执行此操作。
是的,我在 Windows 上使用 PostgreSQL 11(在这件事上我别无选择)。有什么线索、想法、建议吗?
解决方案
表结构
CREATE TABLE xmldata4 (data4 xml);
COPY
使用..导入
COPY xmldata4 FROM '/home/jones/user8016440.xml';
.. 或在INSERT
声明中
INSERT INTO xmldata4(data4) VALUES ('<hotel666> <METADATA> <Tags> <AcquisitionTime>2018-10-09T10:37:18.5268832+02:00</AcquisitionTime> <DetectorState><CameraState Id=""> <ApplyCameraProfile>false</ApplyCameraProfile> </CameraState></DetectorState> <RoiCenterOffsetX>+000000000000.0000</RoiCenterOffsetX> <RoiCenterOffsetY>+000000000000.0000</RoiCenterOffsetY> </Tags> <DataSchema /> <AttachmentSchema /> </METADATA> </hotel666>');
使用以下方式查询 xml XPATH
:
SELECT XPATH('//AcquisitionTime/text()',data4) FROM xmldata4 ;
xpath
-------------------------------------
{2018-10-09T10:37:18.5268832+02:00}
(1 Zeile)
推荐阅读
- java - 得到 ***BeanCreationException*** 请提出解决此问题的解决方案
- python - 从 Python-gerrit-api 包中获取分支、主题、状态
- javascript - “为被束缚而生” Kata 99% 解决方案
- swift - M1 和英特尔 MacBook Pro 之间的 macOS 应用程序的内存使用不同
- python - 无法分配“1”:“Plugins.category”必须是“PluginsCategory”实例。Django 和外键
- javascript - 如何在 reactjs 中下载本地文件?
- c++ - 为什么 Qt 程序在编译为 macOS 捆绑包时看起来不对,但作为未捆绑的可执行文件却很好?
- php - PHP计算建议的价格值
- c++ - 升级到 1.2.162.1 后:vkQueueWaitIdle == VK_ERROR_DEVICE_LOST
- javascript - 试图在 javascript 中为井字游戏连接我的板和 winCombos 数组