Ниже приведен пример XML-кода, хранящегося в столбце Oracle
<productAttribute>
<name>Baiying_attr_03</name>
<required>false</required>
</productAttribute>
<productAttribute>
<name>Baiying_attr_04</name>
<required>false</required>
</productAttribute>
<productAttribute>
<name>Baiying_attr_05</name>
<required>false</required>
</productAttribute>
Я хочу проанализировать этот XML-код и буферизовать данные в файле как узел за узлом, что-то вроде
Ожидаемый выход
Baiying_attr_03,false
Baiying_attr_04,false
Baiying_attr_05,false
На самом деле я получаю как
Baiying_attr_03falseBaiying_attr_04falseBaiying_attr_05false
Я пытался получить данные в курсоре, но я получаю все эти данные в одной транзакции, поэтому не могу разделить.Если я хочу получить вывод, как показано ниже, то что я должен использовать
Ниже был мой код
SET serveroutput ON;
DECLARE
data_text VARCHAR2(32765);
CURSOR c1 IS
SELECT XMLTYPE(XMLDATA).EXTRACT('//productAttribute/text()').getStringVal()
FROM TABLE;
BEGIN
OPEN c1;
LOOP
FETCH c1 INTO data_text;
EXIT WHEN c1%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(data_text);
END LOOP;
CLOSE c1;
END;
/