Criação de arquivo xml

Delphi

03/02/2016

Olá pessoal, boa noite!!!

estou precisando criar um arquivo xml para fazer uma integração, porém, não estou conseguindo fazer algumas linhas, como por exemplo os comentários, segue abaixo um modelo do cabeçalho do xml que preciso criar..
<!-- edited with XMLSpy v2011 sp1 (http://www.altova.com) by EndUser (free.org) 
 -->
<schema targetNamespace="http://www.ans.gov.br/padroes/tiss/schemas" elementFormDefault="qualified">
<!--VERSÃO TISS 3.02.01 - TissGuiasv3_02_01
 -->
<!--
<include schemaLocation="http://www.ans.gov.br/padroes/tiss/schemas/tissSimpleTypesV3_00_00.xsd"/>
	<include schemaLocation="http://www.ans.gov.br/padroes/tiss/schemas/tissComplexTypesV3_00_00.xsd"/>

 -->
 <include schemaLocation="tissAssinaturaDigital_v1.01.xsd"/>
 <include schemaLocation="tissSimpleTypesV3_02_01.xsd"/>
 <include schemaLocation="tissComplexTypesV3_02_01.xsd"/>


alguém pode me dar uma luz com relação a isso??
Lindolfo Junior

Lindolfo Junior

Curtidas 0

Respostas

Rodolpho Silva

Rodolpho Silva

03/02/2016

Como você está criando esse xml?
GOSTEI 0
Lindolfo Junior

Lindolfo Junior

03/02/2016

Ola Rodolpho!! pelos exemplos que achei estou tentando usar o xmlDocument
GOSTEI 0
Rodolpho Silva

Rodolpho Silva

03/02/2016

Tente assim:

procedure criarComentario;
var
  noRaiz,noComComentario : IXMLNode;
  documento: IXMLDocument;
begin
  documento :=  TXMLDocument.Create(nil);
  noRaiz:= documento.DocumentElement.CreateNode('noraiz);

  noComComentario := noRaiz.OwnerDocument.CreateNode('', ntComment);
  noComComentario .NodeValue := 'seus comentarios';
   noRaiz.ChildNodes.Add(noComComentario );
end;
GOSTEI 0
Lindolfo Junior

Lindolfo Junior

03/02/2016

eu copiei a procedure toda e esta dizendo que o createnode não esta declarada... e deu access violation na linha de comentários...
GOSTEI 0
Natanael Ferreira

Natanael Ferreira

03/02/2016

Adicione XMLIntf, XMLDoc na uses do form.

Teste este código:

procedure criarComentario;
var
  documento: IXMLDocument;
begin
  with documento do
  begin
    documento := TXMLDocument.Create(nil);
    Active := True;
    DocumentElement := CreateNode('noraiz', ntElement);
    DocumentElement.AddChild('noraiz').Text := 'Nó filho';
    ChildNodes.Add(CreateNode('seus comentarios...', ntComment));
    SaveToFile('Arquivo2.xml');
  end;
end;
GOSTEI 0
Anderson Possamai

Anderson Possamai

03/02/2016

Ola LINDOLFO JUNIOR, tambem estou tentando criar algo para gerar o TISS em delphi, mas nao sei quase nada de xml e estou totalmente perdido do que eu tenho que fazer em relacao ao TISS.
O que eu tenho que gerar? Um xml para cada guia disponivel pela ANS?
Como faco para gerar esse cabecalho no padrao que eles querem? tenho que copiar das guias que fiz download na ANS?

Qualquer resposta ja me ajuda.

segue skype: anderson-possamai-8
GOSTEI 0
Lindolfo Junior

Lindolfo Junior

03/02/2016

possamai, boa noite!!

eu também estou quebrando a cabeça aqui, mas pelo que entendi a ANS disponibiliza um padrão de deverá ser utilizado pelo convênio médico, aí, no meu caso, estou trabalhando pra fazer a liberação da guia de consulta pelo meu sistema, mas to apanhando pacas... kkkkkkkk
assim que tiver novidades vou postando...
GOSTEI 0
Lindolfo Junior

Lindolfo Junior

03/02/2016

Olá pessoal, eu continuo amarrado no esquema do xml, agora eu achei um exemplo que parece ser algo que preciso, porém, esta sendo declarado a variável :

msg3 : IXMLMensagemTISS;

só que não consigo achar o componente que libera a mesma, só pra lembrar estou usando delphi6 com FB..

desde já obrigado a quem puder ajudar.

Junior
GOSTEI 0
Lindolfo Junior

Lindolfo Junior

03/02/2016

Pessoal, acho que consegui achar o fio da meada, porém tenho dois problemas, o primeiro é que não consigo atribuir um valor a um childnode simples tipo :


<versaoPadrao>3.02.01</versaoPadrao> *************** certo ************************

<versaoPadrao> ****************************************************************************************************************
<versaoPadrao>3.02.01</versaoPadrao> ****************************** errado *****************************************
</versaoPadrao> ***************************************************************************************************************



o segundo é um for que estou fazendo e não esta executando certo, da uma olhada:

       // S - Procedimentos Solicitados
       ProcedSolic := GuiaSolic.ChildNodes['guiaSolicitacaoSP-SADT'];
       ProcedSolic.ChildNodes['procedimentosSolicitados'];

       For nItens := 1 to 2 do
         begin
           // T - Lista de Procedimentos
           Proced := ProcedSolic.ChildNodes['procedimentosSolicitados'];
           Proced.ChildNodes['procedimento'];
           Proced.ChildNodes['procedimento'].AddChild('codigoTabela').NodeValue := '22';
           Proced.ChildNodes['procedimento'].AddChild('codigoProcedimento').NodeValue := '10101012';
           Proced.ChildNodes['procedimento'].AddChild('descricaoProcedimento').NodeValue := 'CONSULTA EM CONSULTORIO (NO HORARIO NORMAL OU PREESTABELECID';

           // U - Quantidade Solicitada
           Qtdade := ProcedSolic.ChildNodes['procedimentosSolicitados'];
           Qtdade.ChildNodes['quantidadeSolicitada'];
         end;

       // Encerra o for
       // V - Observação
       Obs := GuiaSolic.ChildNodes['guiaSolicitacaoSP-SADT'];
       Obs.ChildNodes['observacao'];


esta é parte do código que fiz, pra gerar isso :


<procedimento>
<codigoTabela>22</codigoTabela>
<codigoProcedimento>10101012</codigoProcedimento>
<descricaoProcedimento>CONSULTA EM CONSULTORIO (NO HORARIO NORMAL OU PREESTABELECID</descricaoProcedimento>
</procedimento>
<quantidadeSolicitada>1</quantidadeSolicitada>
<procedimento>
<codigoTabela>22</codigoTabela>
<codigoProcedimento>40101010</codigoProcedimento>
<descricaoProcedimento>ECG CONVENCIONAL DE ATE 12 DERIVACOES</descricaoProcedimento>
</procedimento>
<quantidadeSolicitada>1</quantidadeSolicitada>


só que quando eu mando executar, não esta fechando a tag <procedimentos> e nem colocando a quantidade entre um item e outro..

acredito que seja algo simples pra quem tem experiencia em xml, mas estou me batendo com o esse bicho..... hehehehe

desde já agradeço a ajuda de todos...

Junior
GOSTEI 0
Anderson Possamai

Anderson Possamai

03/02/2016

Eu estou ainda comparando os campos com nosso banco pra ver o que me falta, quando comecar o xml vou postando tambem... mas ja ajudou um pouco esse codigo amigo
GOSTEI 0
Lindolfo Junior

Lindolfo Junior

03/02/2016

Eu estou ainda comparando os campos com nosso banco pra ver o que me falta, quando comecar o xml vou postando tambem... mas ja ajudou um pouco esse codigo amigo

possamai, na verdade ja estou quase finalizando o arquivo, só to com esses problemas que preciso achar a solução, aí ja era
GOSTEI 0
Anderson Possamai

Anderson Possamai

03/02/2016

junior, o problema é que nao sei nem por onde comecar, tipo a primeira coisa que tenho que fazer? se puder me adicionar no skype anderson-possamai-8 ou email possamai.eti@gmail.com, qria trocar algumas ideias...

abracos
GOSTEI 0
Bfidelis

Bfidelis

03/02/2016

junior, o problema é que nao sei nem por onde comecar, tipo a primeira coisa que tenho que fazer? se puder me adicionar no skype anderson-possamai-8 ou email possamai.eti@gmail.com, qria trocar algumas ideias...

abracos


Colegas estou com um problema também, não sei nada de xml, estou usando delphi 5 e preciso criar um arquivo, não sei nem pra onde ir, podem me ajudar? me adicionem no email bfidelis@gmail.com
GOSTEI 0
POSTAR