akira2008 0 Denunciar post Postado Fevereiro 12, 2010 Boa Tarde pessoal do Imasters!, venho nesses dias querendo desenvolver um quiz em xml com php, senti uma dificuldade em trabalhar xml com o php, mas não posso voltar atras, tenho que continuar, estou desenvolvendo para os meus alunos algo que possam ajudar eles a estudar e se divertir. Estou disposto a fazer, só preciso saber o que devo fazer passo a passo pra que funcione. 1) Tenho o seguinte arquivo xml chamado teste.xml, como esta abaixo: <?xml version="1.0" encoding="utf-8"?> <perguntas> <questao> <pergunta> O que o q?</pergunta> <resp1> N </resp1> <resp2> S </resp2> <resp3> Talvez </resp3> <resp4> OU </resp4> <respC> OK </respC> </questao> <questao> <pergunta> O que o q2?</pergunta> <resp1> N2 </resp1> <resp2> S2 </resp2> <resp3> Talvez2 </resp3> <resp4> OU 2</resp4> <respC> OK 2</respC> </questao> <questao> <pergunta> O que o q3?</pergunta> <resp1> N3 </resp1> <resp2> S3 </resp2> <resp3> Talvez3 </resp3> <resp4> OU3 </resp4> <respC> OK3 </respC> </questao> </perguntas> 2) Tenho uma página chamada index.php, com 4 links : <a href="adicionar.php">Adicionar.php</a> <a href="remover.php">Remover.php</a> <a href="editar.php">Editar.php</a> <a href="exibir.php">Exibir.php</a> Eu sei como exibir os dados do arquivo xml no php, só não sei como adicionar, editar e remover dados no arquivo xml com o PHP. Peço ajuda a vocês sei que muitos aqui tem experiencia, e é um assunto que não vejo publicado em nenhum site. É só me dizer o que tem pra fazer e faço, com ajuda de voces conseguirei, já li o manual do php e outros mas nemhum deles explica com clareza essa parte. aguardo ajuda. Compartilhar este post Link para o post Compartilhar em outros sites
andreymor 0 Denunciar post Postado Fevereiro 12, 2010 Já olhou sobre SimpleXml e DOM XML??? com eles você pode ler e manipular o seu XML. Coloque um atributo id em cada tag question, como por exemplo <question id="1"> na hora de editar/excluir/adicionar, você vai pegar pelo atributo que será relacionado com o valor que você passar ao código especifico. Essa é uma das maneiras de fazer. Compartilhar este post Link para o post Compartilhar em outros sites
akira2008 0 Denunciar post Postado Fevereiro 12, 2010 certo andreymor já li sobre SimpleXml, faça pelo menos o adicionar.php pra eu saber como se faz, ai eu vejo se consigo desenrolar os demais, pode ser? blza Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Fevereiro 12, 2010 http://www.php.net/manual/en/simplexmlelement.addChild.php o exemplo#1 é exatamente o que você está pedindo Compartilhar este post Link para o post Compartilhar em outros sites
akira2008 0 Denunciar post Postado Fevereiro 12, 2010 Eu consegui adicionar obaaa obrigado, agora estive tentando fazer o editar e o excluir, qual a dica?. Compartilhar este post Link para o post Compartilhar em outros sites
akira2008 0 Denunciar post Postado Fevereiro 12, 2010 esse arquivo só cadastra um nó, quando cadastro de novo ele sobreescreva a primeira e eu nao quero só um, eu quero que ele crie varios, veja abaixo o que esta faltando pra que ele adicione varios nós. <?php $xml = simplexml_load_string('<?xml version="1.0" encoding="utf-8"?><root></root>'); $nome = $_POST["nome"]; $ano = $_POST["ano"]; $diretor = $_POST["diretor"]; $comentarios = $_POST["comentarios"]; $xml->addChild('nome',$nome); $xml->addChild('ano',$ano); $xml->addChild('diretor',$diretor); $xml->addChild('comentarios',$comentarios); echo $xml->asXML(); file_put_contents('cases.xml',$xml->asXML() ); ?> Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Fevereiro 13, 2010 kara, você tem q trabalhar do menor nó para o maior... já brincou com Javascript? conhece o método appendChild()?? é idêntico você abre o XML, abre o Questions, CRIA uma question, DEFINE O ID, CRIA as perguntas e respostas. ADICIONA as perguntas e respostas na Question e SOMENTE AÍ, ADICIONA a Question na QuestionS Compartilhar este post Link para o post Compartilhar em outros sites
João Batista Neto 448 Denunciar post Postado Fevereiro 13, 2010 faça pelo menos o adicionar.php pra eu saber como se faz, ai eu vejo se consigo desenrolar os demais, pode ser? blza akira2008, Caso precise de suporte particular consulte o Mercado iMasters E caso ainda não tenha lido as regras do fórum, sugiro que as leia para sua melhor participação: Regras do Fórum, mais especificamente a regra número 5: 05ª - Post UP! Favor não postar mensagens com o objetivo de evidenciar o tópico, tornando-o primeiro da lista de tópicos (up), tal como mensagens repetitivas e/ou que não condizem com o assunto do tópico em questão (flood). Por esse motivo o seu post #2 foi excluído. Compartilhar este post Link para o post Compartilhar em outros sites
akira2008 0 Denunciar post Postado Fevereiro 13, 2010 blza eu entendi, fui fazer aqui mas esta dando erro e nao consigo. Compartilhar este post Link para o post Compartilhar em outros sites
João Batista Neto 448 Denunciar post Postado Fevereiro 13, 2010 $xml = simplexml_load_string('<?xml version="1.0" encoding="utf-8"?> fui fazer aqui mas esta dando erro e nao consigo. Se está dando erro, poste-o aqui, não é possível te ajudar se não soubermos que erro está ocorrendo. Perceba também no seu post #6 que você não está lendo o seu arquivo e sim uma string contendo um XML vazio e adicionando a esse XML o novo nó, dessa forma você estará sempre gravando apenas o ultimo nó no seu arquivo. Utilize simplexml_load_file() para ler o seu arquivo, assim você adicionará mais um nó ao seu arquivo. Compartilhar este post Link para o post Compartilhar em outros sites
akira2008 0 Denunciar post Postado Fevereiro 13, 2010 obrigado pela observação sua, eu consegui adicionar varios nós :lol: . agora tem outra situação como eu devo fazer para editar a base dados xml a partir do php, nesse caso vou ter que criar um formulario php para alterar os dados xml, como vou fazer para eu editar uma determinada pergunta? alguém tem uma ideia de como eu deveria fazer. Compartilhar este post Link para o post Compartilhar em outros sites