Я пытаюсь извлечь xml из документа xmltype
.Как извлечь xmltype как xml в Oracle
DECLARE
xmlData XMLType;
sDocumentId VARCHAR2(100);
sFormat VARCHAR2(100);
cData CLOB;
BEGIN
xmlData := XMLType('<main>
<document_id>1234567</document_id>
<format>E66</format>
<data><Fname>ABCD</Fname><Lname>EFGD</Lname></data>
</main>');
SELECT ExtractValue(xmlData, '/main/document_id/text()'),
ExtractValue(xmlData, '/main/format/text()'),
ExtractValue(xmlData, '/main/data/text()')
INTO sDocumentId,
sFormat,
cData
FROM (SELECT xmlData FROM DUAL);
dbms_output.put_line(sDocumentId);
dbms_output.put_line(sFormat);
dbms_output.put_line(cData);
END;
Как получить выход так:
- DocumentId =
1234567
- sFormat =
E66
- CDATA =
<Fname>ABCD</Fname><Lname>EFGD</Lname>
xmlData.Extract ('/ главная/данные/текст()') getStringVal() получает вас ' ABCD EFGD 'близко, но не достаточно близко;) –
booyaa
придумал, который сделал получить фрагмент XML:' Extract (XMLDATA, '/ главная/данные/узел()') getStringVal() ' – booyaa