Mudanças entre as edições de "TPHXML"

(Exemplo)
 
(6 revisões intermediárias por 2 usuários não estão sendo mostradas)
Linha 1: Linha 1:
O objeto TPHXML pode ser utilizado para realizar a leitura de conteúdos em formato XML.
+
O objeto TPHXML permite a leitura de arquivo XML e a geração do XML, tornando possível a criação de XML's elaborados de acordo com a necessidade.
  
 
===Propriedades===
 
===Propriedades===
Linha 14: Linha 14:
 
===Procedimentos===
 
===Procedimentos===
 
*'''NewPHXML''': Função que retorna o objeto criado;
 
*'''NewPHXML''': Função que retorna o objeto criado;
 +
*'''Free''': Libera o objeto da memória.
 
*'''Executar:''' Realiza a leitura do conteúdo e carrega o objeto.
 
*'''Executar:''' Realiza a leitura do conteúdo e carrega o objeto.
 
*'''ValorTag(Nivel: Integer; TagInicio: String; Item: String): String''': Retorna o conteúdo da tag e item.
 
*'''ValorTag(Nivel: Integer; TagInicio: String; Item: String): String''': Retorna o conteúdo da tag e item.
*'''Free''': Libera o objeto da memória.
 
 
*'''GetTag(const NomeTag: string): string''': Retorna o conteúdo da Tag.
 
*'''GetTag(const NomeTag: string): string''': Retorna o conteúdo da Tag.
*'''NovoXML(const TagPrincipal: string):''' Inicia o XML com a Tag principal passada por parâmetro.
 
 
*'''AddOpenTag(const ATagName: string):''' Inicia uma Tag que não há valor e há Tags dentro da Tag Informada.
 
*'''AddOpenTag(const ATagName: string):''' Inicia uma Tag que não há valor e há Tags dentro da Tag Informada.
 
*'''AddTag(const ATagName, ATagValue: string):''' Adiciona uma nova tag com o nome e o valor informado.
 
*'''AddTag(const ATagName, ATagValue: string):''' Adiciona uma nova tag com o nome e o valor informado.
Linha 39: Linha 38:
 
     ArqXML.Free;
 
     ArqXML.Free;
 
   end;
 
   end;
 
  
 
   // O exemplo de gravação de XML
 
   // O exemplo de gravação de XML
Linha 46: Linha 44:
 
     XML := NewPHXML;
 
     XML := NewPHXML;
 
     try
 
     try
       XML.NovoXML('api-request');
+
       XML.AddTag('TagPrincipal');
 
 
 
       // Adiciona a seção de verificação
 
       // Adiciona a seção de verificação
       XML.AddOpenTag('verification');
+
       XML.AddOpenTag('CampoID');
       XML.AddTag('merchantId', '{{MerchantId}}');
+
       XML.AddTag('ID', 'ID');
 
       XML.AddCloseTag;
 
       XML.AddCloseTag;
 
 
       // Adiciona a seção de comando
 
       // Adiciona a seção de comando
       XML.AddTag('command', 'add-payment-order');
+
       XML.AddTag('Nome', 'Teste');
 
 
 
       // Adiciona a seção de request
 
       // Adiciona a seção de request
       XML.AddOpenTag('request');
+
       XML.AddOpenTag('SubItem');
         // <Request> ....
+
         // <SubItem> ....
         XML.AddTag('referenceNum', '{{reference_num}}'); //CON(IDCONTRATO,VERSAOCONTRATO)DATAHORAGERACAO
+
         XML.AddTag('Sequencia', '1');
         XML.AddTag('userId', 'Flavis');
+
         XML.AddTag('Nome', 'Teste1');
         // </Request> ....
+
         // </SubItem> ....
 
       XML.AddCloseTag;
 
       XML.AddCloseTag;
 
        
 
        
Linha 68: Linha 63:
 
       XML.Free;
 
       XML.Free;
 
     end;
 
     end;
 +
  end.

Edição atual tal como às 21h00min de 24 de novembro de 2023

O objeto TPHXML permite a leitura de arquivo XML e a geração do XML, tornando possível a criação de XML's elaborados de acordo com a necessidade.

Propriedades

Nome Tipo Descrição
Arquivo String Conteúdo do XML.

Procedimentos

  • NewPHXML: Função que retorna o objeto criado;
  • Free: Libera o objeto da memória.
  • Executar: Realiza a leitura do conteúdo e carrega o objeto.
  • ValorTag(Nivel: Integer; TagInicio: String; Item: String): String: Retorna o conteúdo da tag e item.
  • GetTag(const NomeTag: string): string: Retorna o conteúdo da Tag.
  • AddOpenTag(const ATagName: string): Inicia uma Tag que não há valor e há Tags dentro da Tag Informada.
  • AddTag(const ATagName, ATagValue: string): Adiciona uma nova tag com o nome e o valor informado.
  • AddCloseTag: Realiza o fechamento da ultima Tag aberta </>.
  • GetXML: Retorna o XML construído em forma de texto.

Exemplo

 // O exemplo de leitura de códigos de produtos de XML de NF-e
 ArqXML := NewPHXML;
 try
   ArqXML.Arquivo := XMLString; // String com o conteúdo XML
   ArqXML.Executar;
   while ArqXML.ValorTag(1, 'det', , I + 1, 'cProd') <> EmptyStr do
   begin
     V_CodProduto := ArqXML.ValorTag(1, 'det', , I + 1, 'cProd');
     I := I + 1;
   end;
 finally
   ArqXML.Free;
 end;
 // O exemplo de gravação de XML
 var XML:TPHXML;
 begin
   XML := NewPHXML;
   try
     XML.AddTag('TagPrincipal');
     // Adiciona a seção de verificação
     XML.AddOpenTag('CampoID');
     XML.AddTag('ID', 'ID');
     XML.AddCloseTag;
     // Adiciona a seção de comando
     XML.AddTag('Nome', 'Teste');
     // Adiciona a seção de request
     XML.AddOpenTag('SubItem');
       // <SubItem> ....
       XML.AddTag('Sequencia', '1');
       XML.AddTag('Nome', 'Teste1');
       // </SubItem> ....
     XML.AddCloseTag;
     
     Informacao(XML.GetXML);
   finally
     XML.Free;
   end;
 end.