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

(Criou página com ''''Conceito''' O objeto TPHXML pode ser utilizado para realizar a leitura de conteúdos em formato XML. '''Exemplo''' // O exemplo de leitura de códigos de produtos de X...')
 
(Exemplo)
 
(17 revisões intermediárias por 3 usuários não estão sendo mostradas)
Linha 1: Linha 1:
'''Conceito'''
+
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.
  O objeto TPHXML pode ser utilizado para realizar a leitura de conteúdos em formato XML.
+
 
 +
===Propriedades===
 +
{| class="wikitable" style="width: 100%"
 +
! 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===
  
'''Exemplo'''
 
 
   // O exemplo de leitura de códigos de produtos de XML de NF-e
 
   // O exemplo de leitura de códigos de produtos de XML de NF-e
 
   ArqXML := NewPHXML;
 
   ArqXML := NewPHXML;
Linha 8: Linha 30:
 
     ArqXML.Arquivo := XMLString; // String com o conteúdo XML
 
     ArqXML.Arquivo := XMLString; // String com o conteúdo XML
 
     ArqXML.Executar;
 
     ArqXML.Executar;
     while ArqXML.ValorTag(1, 'det', '', I + 1, 'cProd') <> '' do
+
     while ArqXML.ValorTag(1, 'det', '', I + 1, 'cProd') <> EmptyStr do
 
     begin
 
     begin
 
       V_CodProduto := ArqXML.ValorTag(1, 'det', '', I + 1, 'cProd');
 
       V_CodProduto := ArqXML.ValorTag(1, 'det', '', I + 1, 'cProd');
Linha 16: 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.