powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ORA-31011: XML parsing failed
10 сообщений из 10, страница 1 из 1
ORA-31011: XML parsing failed
    #39246748
Олеганыч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день уважаемые.
Пробую разобрать всем известный пример разбора картинки в XML, но получаю ошибку. На форуме видел ответы "типа это бак Oracle". Где может быть ошибка и как переписать, чтобы ее обойти. Или может быть есть другой путь для задачи- преобразование BLOB--> в XML

Заранее спасибо за ответы.

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
declare
  -- Local variables here
  i integer;
v_clob    CLOB;
v_varchar VARCHAR2(32767);
v_start   PLS_INTEGER := 1;
v_buffer  PLS_INTEGER := 32767;
blob_in   blob;
x         xmltype;
begin
  -- Test statements here

BEGIN
DBMS_LOB.CREATETEMPORARY(v_clob, TRUE);

select f_blob into blob_in from blob_xml where id = 1;

FOR i IN 1 .. CEIL(DBMS_LOB.GETLENGTH(blob_in) / v_buffer) LOOP

   v_varchar := UTL_RAW.CAST_TO_VARCHAR2(DBMS_LOB.SUBSTR(blob_in,
                                                         v_buffer,
                                                         v_start));

   DBMS_LOB.WRITEAPPEND(v_clob, LENGTH(v_varchar), v_varchar);

   v_start := v_start + v_buffer;
END LOOP;

x := xmltype.createxml(v_clob);
dbms_output.put_line(x.getclobval());

end;

end;
ORA-31011: XML parsing failed
ORA-19202: Error occurred in XML processing
LPX-00210: expected '<' instead of '?'
Error at line 1
ORA-06512: at "SYS.XMLTYPE", line 5
ORA-06512: at line 29
...
Рейтинг: 0 / 0
ORA-31011: XML parsing failed
    #39246862
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОлеганычГде может быть ошибка
Код: plsql
1.
2.
3.
4.
5.
6.
ORA-31011: XML parsing failed
ORA-19202: Error occurred in XML processing
LPX-00210: expected '<' instead of '?'
Error at line 1
ORA-06512: at "SYS.XMLTYPE", line 5
ORA-06512: at line 29
...
Рейтинг: 0 / 0
ORA-31011: XML parsing failed
    #39246885
Олеганыч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Делал так
Код: plsql
1.
x := xmltype.createxml('<c>'||v_clob||'</c>');


Не работает .
...
Рейтинг: 0 / 0
ORA-31011: XML parsing failed
    #39246911
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Олеганыч,

покажите содержимое v_clob
...
Рейтинг: 0 / 0
ORA-31011: XML parsing failed
    #39246938
Олеганыч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
blob_in=
open=F, temp=F, length=11463, chunksize=8132, data=FFD8FFE000104A46494600010101006000600000FFDB0043000201010201010202020202020202030503030303030604040305070607070706070708090B0908080A0807070A0D0A0A0B0C0C0C0C07090E0F0D0C0E0B0C0C0CFFDB004301020202030303060303060C0807080C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0CFFC000110800A2016003012200021101031101FFC4001F0000010501010101010100000000000000000102030405060708090A0BFFC400B5100002010303020403050504040000017D01020300041105122131410613516107227114328191A108

v_clob= open=F, temp=T, length=8846, chunksize=8132, data=���JFIF
...
Рейтинг: 0 / 0
ORA-31011: XML parsing failed
    #39247211
Фотография orawish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Олеганыч,

дык, зря вы blob (в натуре, бинарный) в clob суёте
...
Рейтинг: 0 / 0
ORA-31011: XML parsing failed
    #39247302
Олеганыч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Отличный ответ.
А поподробнее можно?
...
Рейтинг: 0 / 0
ORA-31011: XML parsing failed
    #39247415
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Олеганыч,

Перегонять blob в clob кусками через cast, во-первых, незачем, во-вторых, подход неприменим к кодировке с переменной длиной символа. В-третьих, блоб не текстовый и использование результата такой перегонки приведет к искажению данных.
Приклеивание к данным угловых скобко-тегов в общем случае не даст на выходе валидный xml, тем более из нетекстового блоба, где могут быть в принципе недопустимые для xml символы.
put_line имеет тип аргумента varchar2 с ограничением 32767 байт.
...
Рейтинг: 0 / 0
ORA-31011: XML parsing failed
    #39247481
Олеганыч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Видимо да...
Однако цель стоит из картинки сделать XML из XML картинку.
Может посоветуете тогда какой -нибудь рабочий вариант ?
...
Рейтинг: 0 / 0
ORA-31011: XML parsing failed
    #39247512
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Олеганыч,

<xml><image type="тип картинки">полубайтики</image></xml>

SY.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ORA-31011: XML parsing failed
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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