XML e Delphi
Qual a melhor maneira de pegar o conteúdo das tags de um xml e salvar em uma tabela do BD com Delphi?
Abs!
Abs!
Gxf
Curtidas 0
Respostas
Rafael Bosco
24/06/2019
Utilize a interface IXMLDocument (é igual a classe TXMLDocument no entanto você não precisa instanciar nada e nem liberar a memória posteriormente por que a própria interface faz isso).
Neste link: https://www.devmedia.com.br/importando-xml-com-o-xmldocument-delphi/24288 por exemplo tem uma maneira simples exemplificando como utilizar o TXMLDocument, para que tenha a utilização que você deseja, apenas pegue o valor das tags do XML e implemente dentro de um TClientDataSet e depois realize a persistência, ou até mesmo, se você deseja salvar o arquivo XML inteiro, salve o arquivo como String dentro de um campo VARCHAR no seu DB (Você até pode usar como um tipo BLOB Sub Type Text no seu banco de dados, mas as versões novas do FireBird, o tipo VARCHAR está aguentando facilmente grandes números de caracteres, então sugiro você colocar um VARCHAR (20000) para gravar este arquivo XML, pois a leitura de campos BLOB é mais lenta do que VARCHAR).
Neste link: https://www.devmedia.com.br/importando-xml-com-o-xmldocument-delphi/24288 por exemplo tem uma maneira simples exemplificando como utilizar o TXMLDocument, para que tenha a utilização que você deseja, apenas pegue o valor das tags do XML e implemente dentro de um TClientDataSet e depois realize a persistência, ou até mesmo, se você deseja salvar o arquivo XML inteiro, salve o arquivo como String dentro de um campo VARCHAR no seu DB (Você até pode usar como um tipo BLOB Sub Type Text no seu banco de dados, mas as versões novas do FireBird, o tipo VARCHAR está aguentando facilmente grandes números de caracteres, então sugiro você colocar um VARCHAR (20000) para gravar este arquivo XML, pois a leitura de campos BLOB é mais lenta do que VARCHAR).
GOSTEI 0
Gxf
24/06/2019
Agradeço a resposta. Mas esta seria a única forma?
Abs!
Abs!
GOSTEI 0
Gxf
24/06/2019
Consegui fazer o exemplo. Porém tentei mudar para pegar os dados do Meu XML com outras tags e não deu certo. Algm poderia ajudar?
Abs;
Abs;
GOSTEI 0