带双引号的PostgreSQL xpath匹配
我在Postgressql9.3中使用xpath搜索包含双引号内容的节点。 我试过“和”t;“替换“”,但它们都不起作用。“concat”似乎也不起作用。我在网上找不到工作方法。有人能告诉我如何避开双引号吗 查询:带双引号的PostgreSQL xpath匹配,sql,xml,postgresql,xpath,escaping,Sql,Xml,Postgresql,Xpath,Escaping,我在Postgressql9.3中使用xpath搜索包含双引号内容的节点。 我试过“和”t;“替换“”,但它们都不起作用。“concat”似乎也不起作用。我在网上找不到工作方法。有人能告诉我如何避开双引号吗 查询: select xpath(E'//book[title = "["a book"]"]/price/text()', xmlparse(document b.content))::text[] from booksite b XML内容,如: <book>
select
xpath(E'//book[title = "["a book"]"]/price/text()', xmlparse(document b.content))::text[]
from
booksite b
XML内容,如:
<book>
<title>["a book"]</title>
<price>29.99</price>
</book>
[“一本书”]
29.99
XPath 1.0没有提供转义引号的方法。请改用单引号作为XPath字符串分隔符,因为可以通过将它们加倍来转义SQL中的单引号:
select
xpath(E'//book[title = ''["a book"]'']/price/text()', xmlparse(document b.content))::text[]
from
booksite b
XPath 1.0没有提供转义引号的方法。请改用单引号作为XPath字符串分隔符,因为可以通过将它们加倍来转义SQL中的单引号:
select
xpath(E'//book[title = ''["a book"]'']/price/text()', xmlparse(document b.content))::text[]
from
booksite b
您可以使用:
输出:
╔═══════╗
║ xpath ║
╠═══════╣
║ 29.99 ║
╚═══════╝
您可以使用:
输出:
╔═══════╗
║ xpath ║
╠═══════╣
║ 29.99 ║
╚═══════╝