问题:我可以像这样在Postgres中创建一个XML编码的字符串:
SELECT xmlelement(name name, 'AT&T', null )
现在我要获取xml编码值,即AT&T
。
但是如果我这样做:
SELECT unnest(xpath('/name/text()', xmlelement(name name, 'AT&T', null )))
然后我得到AT&T
,而不是AT&T
。
如何获得XML编码的值?
此外,是否不可能为xmlelement提供一个空名称,而只是将其转换为varchar?
如果您正在编写HTML客户端,那么您将不得不对其进行HTML转义以显示原始HTML。
据我所知,您主要是C#开发人员,然后使用静态方法HttpUtility.HtmlEncode()
即可。
我建议使用一个简单的功能。
create or replace function xml_escape(s text) returns text as
$$
select replace(replace(replace(s, '&', '&'), '>', '>'), '<', '<');
$$
language sql immutable strict;