XML e Delphi
24/06/2019
0
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
Curtir tópico
+ 0
Responder
Posts
24/06/2019
Rafael Bosco
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).
Responder
26/06/2019
Gxf
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;
Responder
Clique aqui para fazer login e interagir na Comunidade :)