Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Jessica Lima

[Resolvido] PHP + XML - alterar dados xml usando php !

Recommended Posts

oie Gente... Boa tarde, Sou nova do Forum, e queria tirar uma duvida que estou procurando solução a mais de 1 semana...

vou direta ao assunto !

 

tenho um arquivo xml (exemplo.xml)

e outro arquivo php (alterar.php)

 

eu consigo alterar dados do xml se o xml me der a informação dessa forma:

ex:

 

exemplo.xml

<?xml version="1.0" encoding="ISO-8859-1"?>
<pais>
<nome>Brasil</nome>
</pais>

 

dessa forma achei mto facil alterar o conteudo do xml mudando o 'nome' do 'pais' de Brasil pra qual eu quiser !

usei assim

 

alterar.php

<?php
//INTERPRETA O EXEMPLO.XML
$xml = simplexml_load_file('exemplo.xml');

//ALTERAR AS PROPIEDADES DO XML
$xml->pais->nome = 'Argentina';

//EXIBI O NOVO XML
echo $xml-asXML();

//GRAVA NO ARQUIVO EXEMPLO.XML
file_put_contents('exemplo.xml' , $xml->asXML());
?>

 

dessa maneira deu certinho do jto q eu keria...o xml ficaria assim:

ex:

exemplo.xml

<?xml version="1.0" encoding="ISO-8859-1"?>
<pais>
<nome>Argentina</nome>
</pais>

 

 

 

 

:(AGORA ME DEPAREI com UM XML que e estruturado de outra for..e naum consigo manipulalo de jeito nenhum:

 

aqui vai um exemplo de um XML que eu quero manipular !!!

 

exemplo2.xml

<?xml version="1.0" encoding="ISO-8859-1"?>
<mundo>
<pais nome='Brasil' continente='sul' url='brasil.html'/>
<pais nome='Argentina' continente='sul' url='argentina.html'/>
<pais nome='Angola' continente='africano' url='angola.html'/>
</mundo>

 

DESSA MANEIRA EU N SEI COMO CHEGAR PRA MUDAR 'nome' 'continente' 'url' :

eu tentei usar isso por exemplo.

 

alterar.php

<?php
//INTERPRETA O EXEMPLO2.XML
$xml = simplexml_load_file('exemplo2.xml');

//ALTERAR AS PROPIEDADES DO XML
$xml->mundo->pais[1]->continente = 'teste';

//EXIBI O NOVO XML
echo $xml-asXML();

//GRAVA NO ARQUIVO EXEMPLO.XML
file_put_contents('exemplo2.xml' , $xml->asXML());
?>

 

MAIS Q m***** =[

 

ELE NÃO ALTERA FAZ E ACRESCENTAR DE UM MODO TOTALMENTE DIFERENTE.

 

ALGUEM PODE ME AJUDAR...

 

AGRADECO A TODOS PELA AJUDA

 

;*

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sou nova do Forum

 

@Jessica Lima, seja bem vinda...

 

Caso ainda não tenha lido as regras do fórum, sugiro que o faça para sua melhor participação: Regras do Fórum

 

AGORA ME DEPAREI com UM XML que e estruturado de outra for..e naum consigo manipulalo de jeito nenhum:

exemplo2.xml

<?xml version="1.0" encoding="ISO-8859-1"?>
<mundo>
<pais nome='Brasil' continente='sul' url='brasil.html'/>
<pais nome='Argentina' continente='sul' url='argentina.html'/>
<pais nome='Angola' continente='africano' url='angola.html'/>
</mundo>

 

Nesse caso, você não deverá manipular os atributos dos nós, segue um exemplo:

 

<?php
$sax = simplexml_load_file( 'exemplo2.xml' );
$attr = $sax->pais[ 1 ]->attributes();
$attr->nome = 'Nederland';
$attr->continente = 'North-West Europe';
$attr->url = 'nederland.html';

echo $sax->asXML();

 

Saída:

<?xml version="1.0" encoding="ISO-8859-1"?>
<mundo>
<pais nome="Brasil" continente="sul" url="brasil.html"/>
<pais nome="Nederland" continente="North-West Europe" url="nederland.html"/>
<pais nome="Angola" continente="africano" url="angola.html"/>
</mundo>

 

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

João Batista Neto

 

 

 

http://forum.imasters.com.br/public/style_emoticons/default/clap.gif MUITOOOoo Obrigada ^^"

 

era isso msm...so acrescentei o ->pais[continente]

 

 

poxa....parabens pelo forum.

postei minha duvida ontem, e ja tenho a resposta bem clara como essa ^^"

 

 

 

brigada João Batista Neto de novo,, e vou ler as regras do forum sim ^^" e pq quando eu postei a duvida estava no trabalho,

e você sabe ne como e ^^"

 

como eu fecho o topico como resolvido ???

Compartilhar este post


Link para o post
Compartilhar em outros sites

como eu fecho o topico como resolvido ???

 

Quando o autor da dúvida diz que o tópico foi resolvido, um moderador colocará a marcação de [Resolvido].

 

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito bom, mas estou com um outro problema.

 

Tenho que alterar este xml

config.xml

<?xml version="1.0" encoding="ISO-8859-1"?>
<server-config>
 <server-ip>201.153.10.1</server-ip>
</server-config>

estou tentando alterar o ip com este script

mudaip.php

<?php
//INTERPRETA O EXEMPLO.XML
$xml = simplexml_load_file('config.xml');

//ALTERAR AS PROPIEDADES DO XML
$xml->server-config->server-ip = '127.165.211.10';

//EXIBI O NOVO XML
echo $xml-asXML();

//GRAVA NO ARQUIVO EXEMPLO.XML
file_put_contents('config.xml' , $xml->asXML());
?>

mas o PHP retorna o seguinte erro:

Parse error: syntax error, unexpected T_OBJECT_OPERATOR in C:\xampp\htdocs\xml\index.php  on line 6

Isso acontece por causa do "-" no XML. Oque devo fazer?

 

Obs: não posso alterar a estrutura do xml

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.