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

Откуда:
Сообщений: 11
Добрый день!

Oracle 10.2.0.3 windows 2003 64.
Для внешней проги надо формировать XML с пустыми элементами
<ELEMENT ATTRIBUT="VALUE"/>
а,так подходящий мне XMLElement при выполнении
select XMLElement("ELEMENT", XMLAttributes('VALUE' "ATTRIBUT")) from dual
выдает
<ELEMENT ATTRIBUT="VALUE"></ELEMENT>

Подскажите пожалуйста, как сделать требуемое.
18 фев 09, 15:25    [6834997]     Ответить | Цитировать Сообщить модератору
 Re: XML пустой элемент F1  [new]
Elic
Member

Откуда:
Сообщений: 29991
VillageHacker
<ELEMENT ATTRIBUT="VALUE"/>
<ELEMENT ATTRIBUT="VALUE"></ELEMENT>
Это одно и тоже.
Но если очень хочется, то можно:
.extract('/')
18 фев 09, 15:35    [6835043]     Ответить | Цитировать Сообщить модератору
 Re: XML пустой элемент F1  [new]
VillageHacker
Member

Откуда:
Сообщений: 11
Elic
Это одно и тоже.
Но если очень хочется, то можно:
.extract('/')

Спасибо!!!!

Про одно и тоже уже в курсе - спасибо гуру из xml ветки.
Это для чужой софты, и их программистка так неуверенно говорит - ну ты попробуй...
Судя по их сорцам, где xml формируется по кусочкам из varchar2 - боюсь пробовать (пишу постоянную перегрузку).
18 фев 09, 15:46    [6835127]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: XML пустой элемент F1  [new]
anryal
Member

Откуда:
Сообщений: 145
VillageHacker,

.extract('/') не помог, а есть еще способы?
12 дек 11, 20:07    [11752673]     Ответить | Цитировать Сообщить модератору
 Re: XML пустой элемент F1  [new]
Elic
Member

Откуда:
Сообщений: 29991
anryal,

RTFM
12 дек 11, 20:13    [11752690]     Ответить | Цитировать Сообщить модератору
 Re: XML пустой элемент F1  [new]
anryal
Member

Откуда:
Сообщений: 145
Elic,

)))

У меня вопрос аналогичен тому что задал автор типика, нужно сформировать пустой элемент, как мне это сделать?
12 дек 11, 20:27    [11752741]     Ответить | Цитировать Сообщить модератору
 Re: XML пустой элемент F1  [new]
Elic
Member

Откуда:
Сообщений: 29991
anryal
как мне это сделать?
Т.е. на самом деле ты никак не пробовал.
12 дек 11, 20:29    [11752753]     Ответить | Цитировать Сообщить модератору
 Re: XML пустой элемент F1  [new]
anryal
Member

Откуда:
Сообщений: 145
anryal,

http://docs.oracle.com/cd/B19306_01/server.102/b14200/functions220.htm

тут они как-то это делают:

SELECT XMLELEMENT("Emp", XMLATTRIBUTES(e.employee_id, e.last_name),
XMLELEMENT("Dept", XMLATTRIBUTES(e.department_id,
(SELECT d.department_name FROM departments d
WHERE d.department_id = e.department_id) as "Dept_name")),
XMLELEMENT("salary", e.salary),
XMLELEMENT("Hiredate", e.hire_date)) AS "Emp Element"
FROM employees e
WHERE employee_id = 205;

Emp Element
-------------------------------------------------------------------
<Emp EMPLOYEE_ID="205" LAST_NAME="Higgins">
<Dept DEPARTMENT_ID="110" Dept_name="Accounting"/>
<salary>12000</salary>
<Hiredate>07-JUN-94</Hiredate>
</Emp>
12 дек 11, 20:30    [11752756]     Ответить | Цитировать Сообщить модератору
 Re: XML пустой элемент F1  [new]
anryal
Member

Откуда:
Сообщений: 145
Elic
anryal
как мне это сделать?
Т.е. на самом деле ты никак не пробовал.


xmlelement("icon", xmlattributes(picon_link as "src" )).extract('/')
12 дек 11, 20:31    [11752764]     Ответить | Цитировать Сообщить модератору
 Re: XML пустой элемент F1  [new]
anryal
Member

Откуда:
Сообщений: 145
select xmlelement("icon", xmlattributes(picon_link as "src" )).extract('/') as "channels" from channels;

на выходе :
<icon src="http://www.teleguide.info/img/channel/276.gif"></icon>

А должно быть
<icon src="http://www.teleguide.info/img/channel/276.gif" />

Oracle 11.2.0.2
13 дек 11, 13:15    [11755834]     Ответить | Цитировать Сообщить модератору
 Re: XML пустой элемент F1  [new]
anryal
Member

Откуда:
Сообщений: 145
Elic !
13 дек 11, 18:00    [11758901]     Ответить | Цитировать Сообщить модератору
 Re: XML пустой элемент F1  [new]
Elic
Member

Откуда:
Сообщений: 29991
anryal
Oracle 11.2.0.2
В 11g что-то поменялось.
13 дек 11, 18:16    [11759053]     Ответить | Цитировать Сообщить модератору
 Re: XML пустой элемент F1  [new]
-2-
Member

Откуда:
Сообщений: 15330
anryal,

украшательства к стандарту xml и, соответственно, к функциональности его реализаций имеет отдаленное отношение.
Можно натравить xslt, а можно строковый реплейс, в зависимости от того, что входит в "пустоту"
regexp_replace(ХМЛкакстрока,'>\s*</[^>]+>','/>')
13 дек 11, 18:27    [11759152]     Ответить | Цитировать Сообщить модератору
 Re: XML пустой элемент F1  [new]
anryal
Member

Откуда:
Сообщений: 145
Потратил 3 дня! но результата добился.
Create table as select
и все пустые элементы преобразуются в нужный мне вид.
%)
16 дек 11, 09:51    [11775888]     Ответить | Цитировать Сообщить модератору
 Re: XML пустой элемент F1  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 6749
anryal,

+ xml в oracle такой xml....
select xmlelement("dummy",xmlattributes(dummy as "value")) d
from dual;

D
---------------------------
<dummy value="X"></dummy>

select xmlroot(xmlelement("dummy",xmlattributes(dummy as "value")), version '1.0') d
from dual;

D
----------------------
<?xml version="1.0"?>
<dummy value="X"/>
16 дек 11, 10:28    [11776037]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить