terça-feira, 20 de fevereiro de 2007

Trabalhando com a classe DOM do PHP

No artigo que publiquei há uma chamada de uma função, a addToLog.

Bem, ela trabalha basicamente com a classe DOM do PHP. Esta classe tem muitas aplicações, podendo ser amplamente usada com arquivos XML (e SGML em geral), como, por exemplo, RSS.

Vou descrever aqui seu funcionamento. Primeiro vamos supor uma estrutura inicial para o arquivo. Algo assim:
<log>
<entrada>
<data></data>
<ip></ip>
</entrada>
</log>
Onde cada novo registro será um novo nó . E vamos batizar este arquivo de log.xml (nada mais justo).

Agora no PHP:
function addToLog($arquivo,$data,$ip) {
// instanciando a classe
$entry = new DOMDocument();

// isso é para manter a saída indentada
$entry->preserveWhiteSpace = false;
$entry->formatOutput = true;

// carregando o arquivo
$entry->load($arquivo);

//selecionando o nó log
$log = $entry->getElementsByTagName('log');
$log = $log->item(0);

// criando a nova entrada
$entrada = $entry->createElement('entrada');
$entrada = $log->appendChild($entrada);

// criando os nós ip e data
$ip_entry = $entry->createElement('ip', $ip);
$ip_entry = $entrada->appendChild($ip_entry);
$data_entry = $entry->createElement('data', $data);
$data_entry = $entrada->appendChild($data_entry);

// salvando o arquivo
$x = $entry->save($arquivo);

// dando a saída
if ($x) {
return true;
} else {
return false;
}

}

Dúvidas? Deixa um comentário.

Té+
-----------
keepReading

Nenhum comentário:

Postar um comentário