powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Помогите в парсинге XML
10 сообщений из 10, страница 1 из 1
Помогите в парсинге XML
    #39528277
ultrasonic7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток, уважаемые форумчане! Написал простенький скрипт, который создаёт объект типа XMLType и затем выводит на консоль значение. Проблема в том, что значение book_id выводится пустое, а должно выводиться 269. Где может скрываться проблема?
...
Рейтинг: 0 / 0
Помогите в парсинге XML
    #39528278
ultrasonic7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: 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.
declare
iAppend XMLType;
oAppend schematest.books%ROWTYPE;
begin
  select XMLType(
  '<books>
     <book_id>269</book_id>
     <title>Oracle SQL*Loader</title>
     <author>Jonathan Gennick</author>
  </books>') into iAppend 
  from dual;

   SELECT  BOOK_ID
         , TITLE
         , AUTHOR
   INTO  oAppend.BOOK_ID
         , oAppend.TITLE
         , oAppend.AUTHOR
   FROM XMLTABLE ('/books'--'*'
                  PASSING iAppend
                  COLUMNS   BOOK_ID       number PATH 'book_id/@value'
                          , TITLE       VARCHAR2(4000 CHAR) PATH 'title/@value' 
                          , AUTHOR      VARCHAR2(4000 CHAR) PATH 'author/@value' );
   DBMS_OUTPUT.PUT_LINE(oAppend.BOOK_ID);
 EXCEPTION 
   WHEN NO_DATA_FOUND THEN  DBMS_OUTPUT.PUT_LINE('NO_DATA_FOUND');
   WHEN TOO_MANY_ROWS THEN  DBMS_OUTPUT.PUT_LINE('TOO_MANY_ROWS');  
 
end;
...
Рейтинг: 0 / 0
Помогите в парсинге XML
    #39528281
ultrasonic7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Соответственно таблица books определена так:
...
Рейтинг: 0 / 0
Помогите в парсинге XML
    #39528283
ultrasonic7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plsql
1.
2.
3.
4.
5.
6.
CREATE TABLE SCHEMATEST.books
(
  BOOK_ID  NUMBER,
  TITLE VARCHAR2(4000 CHAR),
  AUTHOR VARCHAR2(4000 CHAR)
)
...
Рейтинг: 0 / 0
Помогите в парсинге XML
    #39528292
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ultrasonic7,

Код: plsql
1.
2.
3.
                  COLUMNS   BOOK_ID       number PATH 'book_id'
                          , TITLE       VARCHAR2(4000 CHAR) PATH 'title' 
                          , AUTHOR      VARCHAR2(4000 CHAR) PATH 'author' );
...
Рейтинг: 0 / 0
Помогите в парсинге XML
    #39528295
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ultrasonic7
Код: plsql
1.
/@value

Это лишнее.
...
Рейтинг: 0 / 0
Помогите в парсинге XML
    #39528304
ultrasonic7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
env , AmKad , спасибо! Убрал эту последовательность - значения стали извлекаться и выводиться. Я за образец брал кусок стороннего кода. А зачем вообще эта @value может понадобиться?
...
Рейтинг: 0 / 0
Помогите в парсинге XML
    #39528312
Фотография Есть вопрос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ultrasonic7,
Это получение атрибута xml-элемента, т.е @author, например это <book author="T.Kyte"></book>
...
Рейтинг: 0 / 0
Помогите в парсинге XML
    #39528316
ultrasonic7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И в какой книге лучше всего описан парсинг XML средствами Oracle? С записью в таблицы и всё такое. Кроме официальной документации Оракла, конечно) Хочу почитать что-то на русском по этой теме.
...
Рейтинг: 0 / 0
Помогите в парсинге XML
    #39528323
ultrasonic7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть вопрос , я понял. Так как у меня в xml-ке нет атрибутов, только элементы, то и @value не нужен.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Помогите в парсинге XML
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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