Jump to content


DOIDIM

Member Since 23/08/2007
Offline Last Active 03/03/2011, 12:51
-----

Topics I've Started

Atualização De Arquivo Xml Com Php

26/01/2010, 11:12

e ai galera blz.

Sou iniciante ai em php e já li a documentação php procurando entender como fazer atualização de xml e também procurei pela internet várias vezes, durante muito tempo antes de vir postar num fórum, procurei aqui no fórum e em outros também, mas só achei como fazer a leitura ou criar um arquivo xml.

Meu problema é o seguinte, estou querendo atualizar um arquivo xml, incluir um novo valor, por exemplo, para teste fiz uma função para gravar erros, em arquivos xml.
exemplo de arquivo:
<?xml version="1.0" encoding="ISO-8859-1"?>
<Erros>
	<valor>
		<file>file</file>
		<line>line</line>
		<trace>trace</trace>
		<date>date</date>
		<code>code</code>
		<message>message</message>
	</valor>
</Erros>

e gostaria de fazer uma forma do php incluir um valor no xml.
Assim:
<?xml version="1.0" encoding="ISO-8859-1"?>
<Erros>
	<valor>
		<file>file</file>
		<line>line</line>
		<trace>trace</trace>
		<date>date</date>
		<code>code</code>
		<message>message</message>
	</valor>
        <valor>
		<file>file</file>
		<line>line</line>
		<trace>trace</trace>
		<date>date</date>
		<code>code</code>
		<message>message</message>
	</valor>
</Erros>

fiz essa função para poder incluir o valor no xml mas não está incluindo corretamente.
function writeErroXML($file,$line,$trace,$date,$code,$message){
	$fileName = $_SERVER['DOCUMENT_ROOT'] . "/Log/" . date("d-m-Y") . ".xml";

	if(file_exists($fileName)){
		$xml = simplexml_load_file($fileName);
		$xml->addChild('valor');
		$xml->valor->addChild('file',$file);
		$xml->valor->addChild('line',$line);
		$xml->valor->addChild('trace',$trace);
		$xml->valor->addChild('date',$date);
		$xml->valor->addChild('code',$code);
		$xml->valor->addChild('message',$message);
		$fl = fopen($fileName, "a");
		
		if(fwrite($fl,$xml->asXML())){
			fclose($fl);
			return true;
		}
		else{
			return false;
		}
	}
	else{
		$xml = simplexml_load_string('<?xml version="1.0" encoding="ISO-8859-1"?><Error></Error>');
		$xml->addChild('valor');
		$xml->valor->addChild('file',$file);
		$xml->valor->addChild('line',$line);
		$xml->valor->addChild('trace',$trace);
		$xml->valor->addChild('date',$date);
		$xml->valor->addChild('code',$code);
		$xml->valor->addChild('message',$message);
		$fl = fopen($fileName,"a");
		
		if(fwrite($fl,$xml->asXML())){
			fclose($fl);
			return true;
		}
		else{
			return false;
		}
	}
}

mas a função não está gravando corretamente, se alguém puder me auxiliar, ou me mandar um link de um exemplo de atualização, eu agradeço.
A gravação e leitura não tenho problema é só mesmo a atualização, pois preciso dessa atualização pois irei gravar algumas configurações no do site que estou trabalhando em xml, para aproveitar o espaço da hospedagem.

vlw galera, fico aguardando.

IPB Skin By Virteq