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

Linha 13: Linha 13:
  
 
===Procedimentos===
 
===Procedimentos===
 +
*'''NewPHXML''': Função que retorna o objeto criado;
 
*'''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.
 
*'''Free''': Libera o objeto da memória.
 
+
*'''GetTag(const NomeTag: string): string''': Retorna o conteúdo da Tag.
*'''NewPHXML''': Função que retorna o objeto criado;
+
*'''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.
 +
*'''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===
 
===Exemplo===
Linha 34: Linha 39:
 
     ArqXML.Free;
 
     ArqXML.Free;
 
   end;
 
   end;
 +
 +
 +
  // O exemplo de gravação de XML
 +
  var XML:TPHXML;
 +
  begin
 +
    XML := NewPHXML;
 +
    try
 +
      XML.NovoXML('api-request');
 +
 +
      // Adiciona a seção de verificação
 +
      XML.AddOpenTag('verification');
 +
      XML.AddTag('merchantId', '{{MerchantId}}');
 +
      XML.AddCloseTag;
 +
 +
      // Adiciona a seção de comando
 +
      XML.AddTag('command', 'add-payment-order');
 +
 +
      // Adiciona a seção de request
 +
      XML.AddOpenTag('request');
 +
        // <Request> ....
 +
        XML.AddTag('referenceNum', '{{reference_num}}'); //CON(IDCONTRATO,VERSAOCONTRATO)DATAHORAGERACAO
 +
        XML.AddTag('userId', 'Flavis');
 +
        // </Request> ....
 +
      XML.AddCloseTag;
 +
     
 +
      Informacao(XML.GetXML);
 +
    finally
 +
      XML.Free;
 +
    end;

Edição das 09h00min de 22 de novembro de 2023

O objeto TPHXML pode ser utilizado para realizar a leitura de conteúdos em formato XML.

Propriedades

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

Procedimentos

  • NewPHXML: Função que retorna o objeto criado;
  • 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.
  • Free: Libera o objeto da memória.
  • 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.
  • 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.NovoXML('api-request');
     // Adiciona a seção de verificação
     XML.AddOpenTag('verification');
     XML.AddTag('merchantId', 'Predefinição:MerchantId');
     XML.AddCloseTag;
     // Adiciona a seção de comando
     XML.AddTag('command', 'add-payment-order');
     // Adiciona a seção de request
     XML.AddOpenTag('request');
       // <Request> ....
       XML.AddTag('referenceNum', 'Predefinição:Reference num'); //CON(IDCONTRATO,VERSAOCONTRATO)DATAHORAGERACAO
       XML.AddTag('userId', 'Flavis');
       // </Request> ....
     XML.AddCloseTag;
     
     Informacao(XML.GetXML);
   finally
     XML.Free;
   end;