• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

pouic

Editar conteúdo de um XML

6 mensagens neste tópico

Tenho um xml que deverá ser actualizado a partir de um php que recebe por parâmetro o valor que deve colocar no XML :P

Parece um pouco confuso mas é simples...

Não estou é a conseguir guardar a informação no XML

//recebe o valor por parâmetro
$password = $_GET['pwd'];

//Abre o ficheiro em disco
$xml = simplexml_load_file('conf.xml');

$result = $xml->xpath('/pwd');

$result[0] -> $password;

$xml->asXML('conf.xml');

Depois disto o ficheiro fica com o valor antigo e não com o valor que queria inserir

formato do ficheiro xml

<?xml version="1.0" encoding="utf-8"?>
<pwd>password_codificada</pwd>

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não era melhor usares dom? por exemplo:

$sPassword = $_GET['pwd'];
$oXml = new DOMDocument('1.0', 'UTF-8');
$oPasswordElement = $oXml->createElement('pwd', $sPassword);
$oXml->appendChild($oPasswordElement);
file_put_contents('config.xml', $oXml->saveXML());

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ora ai está :)

Gracias :)

Vi logo que estava a inventar um pouco ehehe

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Usar o DOMDocument ou o SimpleXML, a m*rda é a mesma, só muda o cheiro (não é bem assim, mas pronto).

Sem experimentar, em vez de $result[0] -> $password; faz $result[0] = $password;.

Btw, se esse XPath não funcionar, usa //pwd.

Depois marca o tópico como resolvido B)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Usar o DOMDocument ou o SimpleXML, a m*rda é a mesma, só muda o cheiro (não é bem assim, mas pronto).

Sem experimentar, em vez de $result[0] -> $password; faz $result[0] = $password;.

Btw, se esse XPath não funcionar, usa //pwd.

Depois marca o tópico como resolvido ;)

djthyrax Discordo, (NOTA: vou dar a minha opinião pessoal e vale o que vale...) O simpleXML é bom quando se trata de leitura de dados, facilidade na transformação para um objecto, no entanto, é um pouco limitado/puxado quando se fala de manipulação e criação em si

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não era melhor usares dom? por exemplo:

$sPassword = $_GET['pwd'];
$oXml = new DOMDocument('1.0', 'UTF-8');
$oPasswordElement = $oXml->createElement('pwd', $sPassword);
$oXml->appendChild($oPasswordElement);
file_put_contents('config.xml', $oXml->saveXML());

Depois de testar confirma-se o sucesso ;) obrigado.

O método que o djthyrax sugeriu não funcionou.... Mas obrigado na mesma.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora