2016-07-22 5 views
1

Пожалуйста, смотрите ниже SQL:Сформировать XML - Исключено узлы

select dbms_xmlgen.getxml('select incident_id FROM INCIDENTS where incident_id=600') xml 
from dual 

Она возвращает:

<?xml version="1.0"?> 
<ROWSET> 
<ROW> 
    <INCIDENT_ID>600</INCIDENT_ID> 
</ROW> 
</ROWSET> 

Как можно исключить это вернуть:

<SYSTEM URN="114644"> 
<INCIDENT_ID>600</INCIDENT_ID> 
<SYSTEM> 

Я хочу, чтобы жестко закодировать первая строка и третья строка XML.

ответ

1

Используйте функцию экстракта, чтобы получить желаемый результат

EXTRACT (XML) is similar to the EXISTSNODE function. 
It applies a VARCHAR2 XPath string and returns an XMLType instance containing an XML fragment. You can specify an absolute XPath_string with an initial slash or a relative XPath_string by omitting the initial slash. 
If you omit the initial slash, the context of the relative path defaults to the root node... 

также видим подобный вопрос здесь https://community.oracle.com/thread/1126429?tstart=0

+1

Я редактировал вопрос. Не могли бы вы взглянуть? Благодарю. – w0051977

+0

Итак, вы можете конкатенировать строку с жесткой кодировкой, как [SELECT '' || ДРУГИЕ XML-части здесь || '' FROM XYZ ...] – user648026

Смежные вопросы