从包含 bytea-column 中 XML 数据的表中选择
我有一个 PostgreSQL 数据库,其中包含一个表,其中有一列名为“data”的 bytea 类型列。 “data”包含大量 XML 数据。
我希望能够搜索特定行,其中“data”中有一个名为
的 XML 元素,其中包含“ID57841”。所以它看起来像
。
另外,我想从该列输出某些 XML 元素,例如
。
我无法在数据库中写入,只能读取。我在谷歌上搜索了很多答案,但找不到任何对我有帮助的东西。有人可以帮我吗?
I have a PostgreSQL database containing a table with a column of type bytea named "data".
"data" contains large XML-data.
I would like to be able to search for specific rows, where there is a XML-element in "data" called <fw:MyID></fw:MyID>
that contains "ID57841". So it'll look like <fw:MyID>ID57841</fw:MyID>
.
Also, I would like to output certain XML-elements from that column, say <fw:MyPassword></fw:MyPassword>
.
I cannot write in the database, only read. I've Googled after answers a lot, but cannot fint anything that helps me. Can someone please help me?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您应该能够使用
convert_from()
将 bytea 列“即时”转换为文本列,然后对结果应用 xpath() 函数。类似于:
您很可能需要提供命名空间作为第三个参数。
查看手册以了解有关此内容的详细信息:
http://www.postgresql.org/docs /current/static/functions-xml.html#FUNCTIONS-XML-PROCESSING
顺便说一句:包括 <和>在您的帖子中,您可以使用 HTML 实体 <和>
You should be able to convert the bytea column to a text column "on-the-fly" using
convert_from()
and then apply an xpath() function on the result.Something like:
You will most likely need to supply the namespace as a third parameter.
Check out the manual for details regarding this:
http://www.postgresql.org/docs/current/static/functions-xml.html#FUNCTIONS-XML-PROCESSING
Btw: to inlcude < and > in your post, you can use the HTML entities < and >
这应该有效:
This should work: