Ir para conteúdo
Fórum Script Brasil
  • 0

Como Ordenar arquivo XML c/ PHP?


maiquelsoneca

Pergunta

Galera, to com um probleminha aqui, tenho um arquivo XML com alguns dados, preciso carregar ele para a página, e salvar ele em ordem alfabética dos Nomes para utilizar depois em outra função onde ele já deve estar ordenado.

To tendo probleminhas com o meu código para ordenar ele, se alguém puder me dar uma mão, agradeço..

o código xml é

<DSImpCE>

<CE>

<Nome>Func A Camara</Nome>

<CPF>000.000.000-00</CPF>

<Cartao>0xBD333EDC</Cartao>

<QtdCreditos>10</QtdCreditos>

<Saldo>24</Saldo>

<SaldoEm>2011-01-17T15:41:57.780875-02:00</SaldoEm>

</CE>

<CE>

<Nome>Fulano B</Nome>

<CPF>000.000.000-00</CPF>

<Cartao>0x7DA75FBC</Cartao>

<QtdCreditos>10</QtdCreditos>

<Saldo>50</Saldo>

<SaldoEm>2011-01-17T15:41:57.780875-02:00</SaldoEm>

</CE>

<CE>

<Nome>Ciclano C</Nome>

<CPF>000.000.000-00</CPF>

<Cartao>0x5524B11C</Cartao>

<QtdCreditos>10</QtdCreditos>

<Saldo>25</Saldo>

<SaldoEm>2011-01-17T15:41:57.780875-02:00</SaldoEm>

</CE>

</DSImpCE>

E o código do programa que tenho até agora é o seguinte...

<?php

// Carrega o arquivo XML, que pode ser local ou remoto.

$arquivo = $_POST["arquivoxml"];

$tiposPermitidos= array('text/xml');

$arqTemp = $_FILES['arquivoxml']['tmp_name'];

$arqType = $_FILES['arquivoxml']['type'];

$arqError = $_FILES['arquivoxml']['error'];

if ($arqError == 0) {

// Verifica o tipo de arquivo enviado

if (array_search($arqType, $tiposPermitidos) === false) {

echo 'O tipo de arquivo enviado é inválido!';

}

}

$xml = simplexml_load_file("$arqTemp");

$arquivon = "./vt.xml";

$ponteiro = fopen($arquivon, "w");

fwrite($ponteiro, "<DSImpCE>");

if (is_writable($arquivon)) {

// Faz um loop no arquivo XML criando as variáveis que serão salvas e mostradas na tela

for($i=0; $i < count($xml->CE); $i++) {

$nome = $xml->CE[$i]->Nome;

$cpf = $xml->CE[$i]->CPF;

$cartao = $xml->CE[$i]->Cartao;

$qtdcreditos = $xml->CE[$i]->QtdCreditos;

$saldo = $xml->CE[$i]->Saldo;

$saldoem = $xml->CE[$i]->SaldoEm;

$conteudo = "<CE> ";

$conteudo .= "<Nome>$nome</Nome> ";

$conteudo .= "<CPF>$cpf</CPF> ";

$conteudo .= "<Cartao>$cartao</Cartao> ";

$conteudo .= "<QtdCreditos>$qtdcreditos</QtdCreditos> ";

$conteudo .= "<Saldo>$saldo</Saldo> ";

$conteudo .= "<SaldoEm>$saldoem</SaldoEm> ";

$conteudo .= "</CE> ";

fwrite($ponteiro, $conteudo);

// Monta o HTML com os dados do XML

echo "Nome Funcionario: <b>$nome</b> $temp<br />";

echo "Numero Cartão: [$cartao] <br />";

echo "Saldo: <b>$saldo</b> <br />";

echo " <br />";

}

fwrite($ponteiro, "</DSImpCE>");

fclose($ponteiro);

}

else { echo "Arquivo não pode ser salvo"; }

// Fecha as tags HTML da página

echo "</body></html>";

?>

Editado por maiquelsoneca
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...