Как создать XML типа
<person>
<item value = "Emma"/>
<item value = "John"/>
</person>
из строки типа Emma;John
с Oracle SQL или PL/SQL?
обновлять:
Окончательное решение с учетом советов @p3consulting и @Charlieface:
select
XMLElement("person",
XMLAgg(
XMLElement("item",
XMLAttributes(str as "value")
)
)
).getStringVal()
from
(
select regexp_substr('Emma;John', '[^;]+', 1, level) as str
from dual
connect by regexp_substr('Emma;John', '[^;]+', 1, level) is not null
)
with strings(s) as (
select 'Emma;John' from dual
)
select
xmlelement("person",
xmlelement("item", xmlattributes( substr(s, 1, instr(s, ';')-1) as "value")),
xmlelement("item", xmlattributes( substr(s, instr(s, ';')+1) as "value"))
)
from strings
;
Вероятно, нужен рекурсивный разделенный запрос для динамического количества значений stackoverflow.com/questions/28677070/…