3

質問: 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 にキャストすることはできませんか?

4

2 に答える 2

4

シンプルな関数を使用することをお勧めします。

create or replace function xml_escape(s text) returns text as
$$
  select replace(replace(replace(s, '&', '&amp;'), '>', '&gt;'), '<', '&lt;');
$$
language sql immutable strict;
于 2020-02-03T07:09:09.823 に答える
1

HTML クライアントに書き込んでいる場合は、生の HTML を表示するために HTML エスケープする必要があります。

私が見るように、あなたは主に C# 開発者であり、静的メソッドHttpUtility.HtmlEncode()がそれを行います。

于 2013-01-09T13:14:21.613 に答える