PostgreSQL处理xml数据初步
磨砺技术珠矶,践行数据之道,追求卓越价值
回到上一级页面:PostgreSQL基础知识与基本操作索引页 回到顶级页面:PostgreSQL索引页[作者 高健@博客园 luckyjackgao@gmail.com]
PostgreSQL及PPAS支持xml数据类型,故进行如下的实验。
先看PPAS9.2中的效果:
先建立表:
-bash-3.2$ ./bin/psql -d edb
psql (9.2.1.3)
"help" でヘルプを表示します. edb=# CREATE TABLE xmltab01(books xml);
CREATE TABLE
edb=# INSERT INTO xmltab01(books) VALUES ('<title>Book0001</title>');
INSERT 0 1
edb=# INSERT INTO xmltab01(books) VALUES ('<title>Book0002</title>');
INSERT 0 1
edb=#
再查询:
edb=# SELECT books from xmltab01; books
-------------------------
<title>Book0001</title>
<title>Book0002</title>
(2 行)
然后,继续插入更复杂的数据:
edb=# INSERT INTO xmltab01(books) VALUES('
edb'# <book>
edb'# <title>Book0003</title>
edb'# <author>Author0003</author>
edb'# <publisher>Puber0003</publisher>
edb'# </book>');
INSERT 0 1
edb=#
edb=# INSERT INTO xmltab01(books) VALUES('
edb'# <book>
edb'# <title>Book0004</title>
edb'# <author>Author0004</author>
edb'# <publisher>Puber0004</publisher>
edb'# </book>');
INSERT 0 1
edb=#
edb=# INSERT INTO xmltab01(books) VALUES('
edb'# <book>
edb'# <title>Book0005</title>
edb'# <author>Author0004</author>
edb'# <publisher>Puber0004</publisher>
edb'# </book>');
INSERT 0 1
edb=#
接着,进行一个带条件的查询,查找出作者为Author0004的用户所写的书的title:
不符合条件的记录也被查询出来,留下一个空值。
edb=# SELECT xpath('/book[author/text()="Author0004"]/title', books) FROM xmltab01;
xpath
---------------------------
{}
{}
{}
{<title>Book0004</title>}
{<title>Book0005</title>}
(5 行)
edb=#
最后删除表:
edb=# drop table xmltab01;
DROP TABLE
edb=#
下面是使用PostgreSQL时的情形,
初次使用发生错误,需要重新编译数据库:
postgres=# CREATE TABLE xmltab01(books xml);
CREATE TABLE
postgres=# INSERT INTO xmltab01(books) VALUES ('<title>Book0001</title>');
ERROR: unsupported XML feature
LINE 1: INSERT INTO xmltab01(books) VALUES ('<title>Book0001</title>...
^
DETAIL: This functionality requires the server to be built with libxml support.
HINT: You need to rebuild PostgreSQL using --with-libxml.
postgres=#
在进行了 ./configure --with-libxml gmake && gmake install 之后,
可以正常工作。
[作者 高健@博客园 luckyjackgao@gmail.com]
回到上一级页面:PostgreSQL基础知识与基本操作索引页 回到顶级页面:PostgreSQL索引页磨砺技术珠矶,践行数据之道,追求卓越价值
PostgreSQL处理xml数据初步的更多相关文章
- InnerException 消息是“反序列化对象 属于类型 *** 时出现错误。读取 XML 数据时,超出最大字符串内容长度配额 (8192)。(注意细节)
WEB站点在调用我们WCF服务的时候,只要传入的参数过长,就报如下错误: 格式化程序尝试对消息反序列化时引发异常: 尝试对参数 http://tempuri.org/ 进行反序列化时出错: formD ...
- XML数据的解析
XML数据的解析 相比于JSON数据解析而言,XML数据解析可能会让更多的童鞋感觉到吃力,对我来说,同样认为JSON数据好像让人感觉比较友好,不过对于程序开发者来说,无非就是这两种数据解析占比较大的部 ...
- 11月15日下午 ajax返回数据类型为XML数据的处理
ajax返回数据类型为XML数据的处理 /*XML:可扩展标记语言 HTML:超文本标记语言 标签:<标签名></标签名> 特点: 1.必须要有一个根 2.标签名自定义 3.对 ...
- iOS解析XML数据
iOS中解析XML数据的类是 NSXMLParser,详细使用方法如下: 假设现在在内存中有XML的二进制数据对象(NSData):data(该数据可能来自网络,也可能是本地的文件数据),设置NSX ...
- wcf序列化大对象时报错:读取 XML 数据时,超出最大
错误为: 访问服务异常:格式化程序尝试对消息反序列化时引发异常: 尝试对参数 http://tempuri.org/ 进行反序列化时出 错: request.InnerException 消息是“反序 ...
- php生成json或者xml数据
, ,'数据返回成功',$arr);echo $xml;?>
- XML数据 JSON数据 LitJSON 数据 的编写和解析 小结
用XML生成如下数据<?xml version="1.0"encoding="UTF-8"?><Transform name="My ...
- 一个简单xml数据转换为数组的方法
本人用easywechat做微信回复图文,从数据库中拿到的数据直接是xml拼好的数据,但是框架只有自带的获取xml格式的语句,所有需要将xml数据中所需要的数据拿出来用来拼接. 搜了好多资料说的都很麻 ...
- Ajax跨域访问XML数据的另一种方式——使用YQL查询语句
XML数据默认是不能在客户端通过Ajax跨域请求读取的,一般的做法是在服务器上写一个简单的代理程序,将远程XML的数据先读到本地服务器,然后客户端再从本地服务器通过Ajax来请求.由于我们不能对数据源 ...
随机推荐
- Ad-hoc 查询以及动态SQL的罪恶[译]
本文为翻译文章,原文地址:https://www.simple-talk.com/blogs/2009/08/03/stolen-pages-ad-hoc-queries-and-the-sins-o ...
- linux ubuntu 本地镜像 软件源 制作方法
1.配置当前软件源,镜像非常大,所以首先要配置一下载速度快的软件源http://fffo.blog.163.com/blog/static/2119130682014322104136601/2.安装 ...
- 《SQL Server 2008从入门到精通》--20180703
SELECT操作多表数据 关于连接的问题,在<SQL必知必会>学习笔记中已经讲到过,但是没有掌握完全,所以再学一下. JOIN连接 首先我们先来看一下最简单的连接.Products表和Ve ...
- Linux HugePages 配置与 Oracle 性能关系说明
一. HugePages 说明 1.1 HugePages 介绍 HugePages is a feature integrated into the Linux kernel with relea ...
- 多线程应用-类(thread)
在对class thread加锁时,锁无法正常应用,函数方式没问题. 在使用class thread方法时,并发后的查询结果不对,函数方式没问题. # -*- coding: UTF-8 -*- fr ...
- 绕过CDN查找网站真实IP方法收集
方法1很简单,使用各种多地 ping 的服务,查看对应 IP 地址是否唯一,如果不唯一多半是使用了CDN, 多地 Ping 网站有: http://ping.chinaz.com/ http://pi ...
- November 22nd 2016 Week 48th Tuesday
Eventually, you will learn to cry on the inside. 终有一天,你得学会让眼泪在心里流. Cry on the inside. I am tired, an ...
- 4034. [HAOI2015]树上操作【树链剖分】
Description 有一棵点数为 N 的树,以点 1 为根,且树点有边权.然后有 M 个 操作,分为三种: 操作 1 :把某个节点 x 的点权增加 a . 操作 2 :把某个节点 x 为根的子树中 ...
- hacknet
网盘下载地址,下载后cmd运行hacknet.exe 链接:https://pan.baidu.com/s/1gTrcuDRzDhepFlXhsOMVlg 提取码:os9v 经过5个小时的战斗,终于通 ...
- 【node.js】readline (逐行读取)
官网链接:http://nodejs.cn/api/readline#readline_readline require('readline') 模块提供了一个接口,用于从可读流(如 process. ...