O SIMPLEXML e uma extensão do PHP que vem na versão 5, utilizada para manipulação de XML, editar e pegar valores de um arquivo XML, facilmente, sem precisar usar explodes e mais explodes
Quero ensinar aqui um pouquinho de como se manipular XML. Para você seguir este tutorial você vai precisar ter o PHP5 instalar em sua maquina.
Primeiramente vamos criar um arquivo XML com o nome de agenda.xml.
CODE
<?xml version=’1.0′ standalone=’yes’?>
<agenda>
<evento>
<title>Festa a fantasia</title>
<characters>
<character>
<name>Fernando Junior</name>
<actor>Rodrigo Junior</actor>
</character>
<character>
<name>Luis Carlos</name>
<actor>É nois..</actor>
</character>
</characters>
<plot>Consegui pegar este valor!!!</plot>
<rating type=”valor01″>7</rating>
<rating type=”valor02″>5</rating>
</evento>
</agenda>
Agora chegou a hora de fazer o php., crie um arquivo com o nome de agenda.php
CODE
if (file_exists(’agenda.xml’)) {
$xml = simplexml_load_file(’agenda.xml’);
echo $xml->evento[0]->title;
}else{
exit(’Falha ao tentar abrir agenda.xml.’);
}
Agora abra o seu browsers e faça um teste para ver se funciona certinho!
Se imprimiu legal, ele imprimiu o valor de “<title>Festa a fantasia</title>”, não é?
Este e apenas um exemplo simples.
Como eu vou pegar o valor dos nomes e atores? Esta e boa neh? Mais fácil também.
É mais complicadinho, mas nada mais do que umas palavras a mais. Observe:
CODE
if (file_exists(’agenda.xml’)) {
$xml = simplexml_load_file(’agenda.xml’);
echo $xml->evento[0]->characters->character[0]->name;
}else{
exit(’Falha ao tentar abrir agenda.xml.’);
}
Teste a página. O que ele imprimiu? ” Fernando Junior “? Certo!! É isso mesmo!
Observe que, para se referir a tal cláusula de mesmo nome no arquivo, usa-se o índice([0]).
Se existisse mais de uma chave chamada agenda, para me referir à segunda chave agenda eu teria que trocar “ agenda [0]” por “ agenda [1]“.
Com character é a mesma coisa. Se você quiser pegar o valor de “<actor>El ActÓr</actor>” você teria que usar:
CODE
if (file_exists(’agenda.xml’)) {
$xml = simplexml_load_file(’agenda.xml’);
echo $xml->evento[0]->characters->character[1]->actor;
}else{
exit(’Falha ao tentar abrir agenda.xml.’);
}
Bom, é isso.
Simples não? E muito mais fácil que explode.
Abraço galera.