Gerar arquivo XML com PL/SQL utilizando Parser

[ad#texto]

Continuando a falar sobre criação de arquivos XML utilizando Oracle PL/SQL, no primeiro exemplo não utilizamos nenhum Parser, ou seja, mesmo que a estrutura do XML estivesse errada o arquivo seria criado, deixando o inconveniente de que ao utilizar o XML é que iríamos detectar possíveis erros, quando o ideal é realizar esta tarefa de validação no momento da criação do arquivo.

No exemplo que iremos apresentar vamos demonstrar como criar um arquivo XML com PL/SQL efetuando o parser antes da gravação física no arquivo.

declare
 varXML   CLOB;
 varTexto VARCHAR2(4000);
 varDom   DBMS_XMLDOM.DOMDocument;

begin
 -- Exemplo de um XML para testes
 varTexto := '' ||
             '' ||
             'Teste de XML' ||
             'Sem XSLT' ||
             '' ||
             '';

 -- Inicializar o CLOB
 dbms_lob.createtemporary(varXML, TRUE);
 dbms_lob.open(varXML, dbms_lob.lob_readwrite);

 -- Atribir texto (string) ao CLOB
 dbms_lob.writeappend(varXML, length(varTexto), varTexto);

 -- Inicia o processamento DOM e faz o parser utilizando XMLType.createXML
 varDom := DBMS_XMLDOM.NewDOMDocument(XMLType.createXML(varXML));

 -- Cria o arquivo XML no disco
 DBMS_XMLDOM.WriteToFile(varDom, '/minha/pasta/meu_arquivo.xml');

 -- Liberar o objeto DOM da memória
 DBMS_XMLDOM.freeDocument(varDom);

 -- Liberar dados do CLOB da memória
 dbms_lob.close(varXML);
 dbms_lob.freetemporary(varXML);
end;

O exemplo é bem semelhante ao apresentado no primeiro exemplo, com a exceção de que agora o arquivo é gerado utilizando DOM e que efetuamos o parser utilizando o XMLType.createXML.

Utilizando o XMLType, qual erro na estrutura ou até mesmo a utilização de caracteres especiais em locais errados irão levantar uma exceção, evitando a criação de um XML errado.

Petter Rafael

Desenvolvedor Web atua com as tecnologias Java e PHP apoiadas pelos bancos de dados Oracle e MySQL. Além dos ambientes de desenvolvimento acima possuiu amplo conhecimento em servidores Apache/Tomcat, Photoshop, Arte & Foto, Flash e mais uma dezena de ferramentas e tecnologias emergentes. Atualmente colabora com o Viablog escrevendo sobre programação e tecnologia.
ViamaisBLOG
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.