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

biggipsy

[Resolvido] editar xml a partir do php

7 mensagens neste tópico

Bom dia eu estou a colocar este post pelo seguinte motivo. eu tenho um codigo que me permite editar um ficheiro xml. mas eu agora tenho uma duvida

$a = $xml->no [1];

se eu tiver desta forma ele vai-me buscar o no 1, mas eu queria fazer de uma forma a que em vez de colocar o numero fosse buscar uma variavel, neste caso a variável linha ($linha)

$linha = $_GET['linha'];

$a = $xml->no [1];

Alguém me pode ajudar?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não percebi nada do que queres fazer e sem ter o teu código ninguém te vai conseguir ajudar. Mas deixo uma sugestão... Pelo que deu pa entender que tu queres, se usares o SimpleXML do PHP5, fazes isso na boa sem grandes complicações e podes deixar de usar esse teu código..

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

<?php

$xml = simplexml_load_file('xmltest.xml');

$linha = $_GET['linha'];


// definiçao do nó a editar ou apagar neste ficheiro sera apagar

$linha=$_GET['linha'];


$titulo = $xml-> no[0]->titulo[0]=$_POST['titulo'];
$textopequeno = $xml-> no[0]->textopequeno[0]=$_POST['textopequeno'];
$textogrande=$xml-> no[0]->textogrande[0]=$_POST['textogrande'];



echo $xml->asXML ('xmltest.xml');
?>

Este é o código, aquilo que pretendo é por exemplo em vez de ter $xml->no[0] poder colocar dentro dos parenteses rectos a variavel linha, algo deste género $xml->no[$linha]. Claro que desta forma q escrevi nao funciona, será que alguém me poderia ajudar?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Porquê que não funciona? Qual é o erro? $_GET['linha'] é um numero? Será que estas a tentar ler um nó que não existe?

Mas tenho uma vaga ideia que há formas melhores de trabalhares com o SimpleXML, vê na documentação do PHP e lê mais sobre o assunto, porque acho que podes fazer isso de forma melhor.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ja resolvi o problema

ficou desta forma

$linha = inval($_GET['linha'];

ficando assim a funcionar

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