powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Xml escape и unescape
8 сообщений из 8, страница 1 из 1
Xml escape и unescape
    #39889400
Migelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго дня всем.
Скажите, а в постгресе не появились функции для экранирования/разэкранирования спец символов?
Или проблема так 2011 года так и не решается?
...
Рейтинг: 0 / 0
Xml escape и unescape
    #39889531
GeniyZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Migelle,

какая проблема?

я активно работаю с xml и не сталкивался особо с проблемами.
...
Рейтинг: 0 / 0
Xml escape и unescape
    #39889605
Migelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GeniyZ,

Формирую xml в процедуре, надо заэкранировать символы типа кавычек, апострофов, угловых скобок и т.п. И соответственно при получении надо разэкранировать обратно. Можно replace-ом, но хотелось бы чем-нибудь типа оракловского dbms_xmlgen.convert
...
Рейтинг: 0 / 0
Xml escape и unescape
    #39889650
GeniyZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Migelle,

Можно пример, а то так сходу не понимаю о чём речь.

PS: есть подозрения ваша проблема решается использованием CDATA

PS2: или вот этим: https://github.com/NikolayS/postgrest-translation-proxy/pull/8 и https://postgres.cz/wiki/PostgreSQL_SQL_Tricks#Function_for_decoding_of_url_code
...
Рейтинг: 0 / 0
Xml escape и unescape
    #39889752
Migelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GeniyZ,

Urlencode непричем.

Нужно сформировать xml вида <row><x attr="attr_value">value</x></row>

Допустим надо в значение атрибута засунуть ООО "Рога и копыта" а в value <рога>&<копыта>
Соответственно xml должен получиться такой

Код: sql
1.
<row><x  attr="ООО &quot;Рога и копыта&quot;">&lt;рога&gt;&amp;&lt;копыта&gt;</x></row>

А получив такой xml проделать обратную операцию.
...
Рейтинг: 0 / 0
Xml escape и unescape
    #39890288
GeniyZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Migelle,

Ну во-первых можно с чистой совестью сделать так:
<row><x><![CDATA[<рога>&<копыта>]]></x></row>

А ещё, вы так пробовали:
Код: plsql
1.
2.
3.
4.
5.
6.
SELECT XMLElement(name x
            ,xmlattributes(
                 'ООО "Рога и копыта"'   as attr
                 )
            ,'<рога> & <копыта>')
        ;


???
...
Рейтинг: 0 / 0
Xml escape и unescape
    #39890328
Migelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GeniyZ,

CDATA не решает проблему с атрибутами.

GeniyZ
А ещё, вы так пробовали:

А вы пробовали?
Я это попробовал сразу, так как также делал в оракле. Но мне нужен, чтоб xml был человекочитаем. А этой проблеме тоже не меньше лет и никто ее не решает. :(
...
Рейтинг: 0 / 0
Xml escape и unescape
    #39890568
GeniyZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Migelle,

Я пробовал, да.

У нас именно так и работает.

Да, там немного страдает читабельность. Понимаю, иногда это критично.
Да, это не вылечено. Да - печально.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Xml escape и unescape
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]