Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 не могу распарсить XML с NAMESPACE  [new]
bestbest
Guest
Здравствуйте.
Добавил в XML NAMESPACE и теперь он перестал парситься.

Было так (работало):
with tt as
(select xmltype('<?xml version="1.0" encoding="windows-1251"?>
<ExtractSet>
  <Extract>
    <Account>102</Account>
    <BeginDate>2011-12-05</BeginDate>
  </Extract>
  <Extract>
    <Account>103</Account>
    <BeginDate>2011-12-05</BeginDate>
  </Extract>
  </ExtractSet>
') as xml_data from dual)
select
   pp.*
    from tt t
    ,xmltable('/ExtractSet/Extract'
            PASSING t.xml_data
            columns
              Acc        VARCHAR2(3) PATH 'Account',
              BeginDate  DATE PATH 'BeginDate'                      
           ) pp


добавил namespace
стало вот так (показывает пустоту):

with tt as
(select xmltype('<?xml version="1.0" encoding="windows-1251"?>
<ExtractSet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="extracts:v1.01">
  <Extract>
    <Account>102</Account>
    <BeginDate>2011-12-05</BeginDate>
  </Extract>
  <Extract>
    <Account>103</Account>
    <BeginDate>2011-12-05</BeginDate>
  </Extract>
  </ExtractSet>
') as xml_data from dual)
select
   pp.*
    from tt t
    ,xmltable(
    xmlnamespaces(
                  DEFAULT 'extracts:v1.01' ,
                  'http://www.w3.org/2001/XMLSchema-instance' as "xsi"),
'/Extractset/Extract'
            PASSING t.xml_data
            columns
              Acc        VARCHAR2(3) PATH 'Account',
              BeginDate  DATE PATH 'BeginDate'                      
           ) pp


Подскажите что не так с видоизмененным вариантом?
спасибо!
21 дек 11, 08:57    [11800615]     Ответить | Цитировать Сообщить модератору
 Re: не могу распарсить XML с NAMESPACE  [new]
bestbest
Guest
все заработало!!! Спасибо.
Регистр имеет значение (
21 дек 11, 09:12    [11800659]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить