TPHXML

Revisão de 09h02min de 22 de novembro de 2023 por Willian.avilla (discussão | contribs) (Exemplo)

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('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;