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

(Exemplo)
 
(8 revisões intermediárias por 2 usuários não estão sendo mostradas)
Linha 1: Linha 1:
 
+
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.
==Conceito==
 
 
 
O objeto TPHXML pode ser utilizado para realizar a leitura de conteúdos em formato XML.
 
  
 
===Propriedades===
 
===Propriedades===
Linha 16: Linha 13:
  
 
===Procedimentos===
 
===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.
 
*'''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.
 
+
*'''AddOpenTag(const ATagName: string):''' Inicia uma Tag que não há valor e há Tags dentro da Tag Informada.
*'''NewPHXML''': Função que retorna o objeto criado;
+
*'''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 37: Linha 38:
 
     ArqXML.Free;
 
     ArqXML.Free;
 
   end;
 
   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.

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.