#xml #editor #toad #clob
#xml #редактор #toad #clob
Вопрос:
Я использую TOAD 10.6.1.3 и сохранил некоторые XML-данные в виде CLOB. В этих XML-данных нет пробелов, новых строк и т.д. Это просто прямая строка с некоторыми тегами. Когда я щелкнул по этой области CLOB в таблице, TOAD показывает всплывающий редактор с одной строкой XML. Я хочу видеть pretty-XML. Есть ли какой-нибудь способ это сделать? Потому что каждый раз, когда мне нужно скопировать этот CLOB в notepad и использовать форматер notepad …
Ответ №1:
Вы не можете сделать это с помощью Toad. Toad прекратил поддержку XML в Toad 10.0, поскольку была добавлена поддержка Unicode. У OCI есть несколько ошибок с XMLTYPE при включенном флаге Unicode, который не позволяет Toad работать с ним. Обходной путь заключается в использовании CLOB, как вы делаете, или приведении XMLTYPE к CLOB при запросе. Из-за множества проблем все следы поддержки XML (форматирование, вкладка XML в редакторе и т.д.) Были удалены. Однако вы можете отформатировать свой XML с помощью XMLSERIALIZE. Следующий скрипт демонстрирует это.
CREATE TABLE xml_format_test (fld CLOB);
INSERT INTO xml_format_test
VALUES (
'<CATALOG><CD><TITLE>Empire Burlesque</TITLE><ARTIST>Bob Dylan</ARTIST><COUNTRY>USA</COUNTRY><COMPANY>Columbia</COMPANY><PRICE>10.90</PRICE><YEAR>1985</YEAR></CD><CD><TITLE>Hide your heart</TITLE><ARTIST>Bonnie Tyler</ARTIST><COUNTRY>UK</COUNTRY><COMPANY>CBS Records</COMPANY><PRICE>9.90</PRICE><YEAR>1988</YEAR></CD><CD><TITLE>Greatest Hits</TITLE><ARTIST>Dolly Parton</ARTIST><COUNTRY>USA</COUNTRY><COMPANY>RCA</COMPANY><PRICE>9.90</PRICE><YEAR>1982</YEAR></CD><CD><TITLE>Still got the blues</TITLE><ARTIST>Gary Moore</ARTIST><COUNTRY>UK</COUNTRY><COMPANY>Virgin records</COMPANY><PRICE>10.20</PRICE><YEAR>1990</YEAR></CD></CATALOG>');
COMMIT;
SELECT XMLSERIALIZE (DOCUMENT xmltype(fld)
VERSION '1.5'
INDENT SIZE=2) FROM xml_format_test;
Комментарии:
1. Это не касается моего запроса. Я выбираю вкладку «ДАННЫЕ» таблицы в разделе «Описать объекты». Существует столбец с типом данных CLOB, который включает однострочный xml. Моя проблема заключается в том, что я вижу этот столбец clob в виде одной строки. Когда я щелкаю по одной из строк этой таблицы и дважды щелкаю по этому столбцу (CLOB) этой строки, TOAD открывает всплывающее окно под названием Grid Popup Editor, и в этом редакторе дата представляет собой одну строку с xml
2. Я знаю, что вы имеете в виду, я близко знаком с Toad. Однако, чтобы увидеть ваш форматированный XML, вам нужно написать запрос и использовать XMLSERIALIZE. Другого способа нет. Если вы хотите просмотреть данные в браузере схем или окне описания, создайте представление. СОЗДАЙТЕ Или ЗАМЕНИТЕ VIEW XML_CLOB_VIEW КАК SELECT XMLSERIALIZE (DOCUMENT xmltype (fld) VERSION ‘1.5’ РАЗМЕР ОТСТУПА = 2) fld_formatted ИЗ xml_clob x;
3. Я думал, вы меня неправильно поняли, поэтому спасибо за информацию. Однако сделать то, что вы мне предлагаете, сложнее, чем просто переходить от одного к другому двойным щелчком мыши. Итак, есть другое решение: поместить этот xml с новой строкой и пробелами. Да, я знаю, что это потребует определенных затрат…
4. Решение view также будет работать хорошо с минимальным воздействием. Если вы просто просматриваете данные и вам не нужно их обновлять, вы можете создать представление, которое клонирует таблицу, за исключением того, что XML-данные отформатированы. Затем просто опишите представление вместо таблицы, и ваш рабочий процесс останется таким же, как при использовании таблицы, за исключением того, что теперь вы видите форматированный XML во всплывающем окне.