Gerar XML com PHP e XMLWriter

Gerar XML com PHP e XMLWriter

Olá,
Mais um exemplo de como Gerar XML com PHP e XMLWriter usando PHP5,  neste caso iremos utilizar a Classe nativa do PHP5  o XMLWriter para gerar a saída XML formatada.

Este exemplo, sem dúvidas é bem mais simples que o anterior que utiliza o DOM ou SimpleXML.

Vejamos o código:

<?
# Instancia do objeto XMLWriter
$xml = new XMLWriter;

# Cria memoria para armazenar a saida
$xml->openMemory();

# Inicia o cabeçalho do documento XML
$xml->startDocument( '1.0' , 'iso-8859-1' );

# Adiciona/Inicia um Elemento / Nó Pai <item>
$xml->startElement("item");

#  Adiciona um Nó Filho <quantidade> e valor 8
$xml->writeElement("quantidade", 8);

#  Adiciona um Nó Filho <preco> e valor 110
$xml->writeElement("preco", 110);

#  Finaliza o Nó Pai / Elemento <Item>
$xml->endElement();

#  Configura a saida do conteúdo para o formato XML
header( 'Content-type: text/xml' );

# Imprime os dados armazenados
print $xml->outputMemory(true);

# Salvando o arquivo em disco
# retorna erro se o header foi definido
# retorna erro se outputMemory já foi chamado
$file = fopen('foo.xml','w+');
fwrite($file,$xml->outputMemory(true));
fclose($file);
?>

Obs: A chamada ao método $xml->outputMemory() descarrega os dados da memória então você só consegue chama-lo uma vez, logo, para salvar o arquivo você não pode ter chamado este método ainda.

Para salvar o arquivo corretamente você deve comentar as linhas abaixo:

# header( ‘Content-type: text/xml’ );
# print $xml->outputMemory(true);

Comente as linhas abaixo para apenas exibir o XML no browser:

# $file = fopen(‘foo.xml’,’w+’);
# fwrite($file,$xml->outputMemory(true));
# fclose($file);

Referência: http://br.php.net/manual/pt_BR/book.xmlwriter.php

Por enquanto é isso galera, bom divertimento e até mais.

Comments

  1. By JULIOOXX

    Responder

  2. By Thiago

    Responder

  3. By Mônica

    Responder

    • Responder

      • By Mônica

        Responder

        • Responder

  4. By Mônica

    Responder

  5. By Mônica

    Responder

    • Responder

  6. By Mônica

    Responder

  7. By Mônica

    Responder

    • Responder

      • By Mônica

        Responder

    • Responder

  8. By Mônica

    Responder

  9. By Monica

    Responder

    • Responder

  10. By Monica

    Responder

    • Responder

  11. By Alysson

    Responder

    • Responder

  12. By Carlos Sá

    Responder

    • Responder

      • By Carlos Sá

        Responder

        • Responder

  13. By Bruno Melo

    Responder

  14. By Bruno Melo

    Responder

    • Responder

  15. By tchelosrpMarcelo

    Responder

    • Responder

  16. By Carlos Sá

    Responder

    • Responder

      • By Carlos Sá

        Responder

        • Responder

    • By Gabriel

      Responder

  17. By Mozart

    Responder

  18. By Jonatas

    Responder

    • Responder

  19. Responder

    • Responder

  20. By geovanek

    Responder

  21. By Marco

    Responder

    • Responder

  22. By Marcus Vincius

    Responder

    • Responder

      • By Marcus vinicius

        Responder

  23. By Lucas

    Responder

    • Responder

  24. By Daniel

    Responder

    • Responder

      • By Daniel

        Responder

        • Responder

          • By Daniel

          • By Daniel

          • By Daniel

  25. By Igor Assis

    Responder

  26. By Gericia

    Responder

Perguntas duplicadas ou cujo a resposta esteja nos comentários serão ignoradas.
Comentários com códigos serão ignorados(para isso, use o pastebin.com e informe aqui o link).
Faça sua pergunta e "aguarde" ser aprovada para aparecer no blog.
Aguarde sua resposta, ela não é em tempo real, tenha paciência!

Deixe seu comentário

%d blogueiros gostam disto: