Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia amigos... estou quebrando a cabeça aqui, tenho um XML com a estrutura
<?xml version='1.0' ?>
<meuxml>
<Alunos>
<Aluno1>
<Nome>Carlos</Nome>
<Idade>19</Idade>
<Altura>1.58</Altura>
<Peso>91kg</Peso>
<ComidaFavorita>Frango</ComidaFavorita>
</Aluno1>
</Alunos>
<Professores>
<Professor1>
<Nome>Augusto</Nome>
<Idade>49</Idade>
<Altura>1.78</Altura>
<Peso>65kg</Peso>
<ComidaFavorita>Capuccino</ComidaFavorita>
</Professor1>
</Professores>
</meuxml>
E para ler meu XML, fiz o seguinte:
$link = "C:/xampp/htdocs/XML/meuxml.xml"; //link do arquivo xml
$arquivo_xml = simplexml_load_file($link); //carrega o arquivo XML e retornando um Array
$contador = 0;
echo '<pre>';
//print_r( $arquivo_xml );
//Percorrendo todas as tags Matheus (no caso somente 1)
foreach($arquivo_xml->children() as $meuxml){
//percorrendo todas as tags dentro da tag Matheus
foreach($meuxml->children() as $Aluno){
$contador++;
echo "Nome do aluno ".$contador." - ".$Aluno->Nome."</br>";
echo "Idade do aluno ".$contador." - ".$Aluno->Idade."</br>";
echo "Peso do aluno ".$contador." - ".$Aluno->Peso."</br>";
echo "Altura do aluno ".$contador." - ".$Aluno->Altura."</br>";
echo "Comida do aluno ".$contador." - ".$Aluno->ComidaFavorita."</br><p>";
}
}>
Um XML nada mais é que uma estrutura em árvore, aonde você pode navegar e iterar sobre os nós.
foreach($arquivo_xml->meuxml->Alunos->children() as $aluno) {
Só não estou bem certo se o nó inicial conta na lista, caso não, seria o código abaixo:
foreach($arquivo_xml->Alunos->children() as $aluno) {
PS.: Estou sem servidor PHP para testar os códigos
Deu certo o segundo código
foreach($arquivo_xml->Alunos->children() as $aluno) {
}
dai eu fiz um outro foreach fora, percorrendo as tags $professor
Deixa só eu ver se entendi..
ele irá fazer para cada(foreach) dentro do meu $arquivo_xml nas tags dentro de Alunos, nas filhos de alunos, chamando de $aluno
e ai no caso eu dei um
echo "Nome do aluno - ".$aluno->Nome."</br>";
Ele mostra o conteúdo da tag Nome dentro do meu $aluno, é isso ?
E como eu posso "falar" o que esse símbolo significa "->"
Se puder me explicar, eu agradeceria MUITO, mas já agradeço pela atenção e ter me ajudado :D
O nome dele é operador de objeto (Object Operator), é um token. Na realidade, ele não se "fala", apenas transmite a ideia de acesso ao escopo de objeto.
Basicamente, ele indica que está acessando uma propriedade (apenas variáveis) ou um método referente ao escopo do objeto, ou seja, não estático.
Diferente do diferente do Paamayim Nekudotayim (que também não se fala) é para o escopo estático ou para o objeto pai (parent).
Acho que entendi hehehe
Mesmo assim, muito obrigado amigo deu certo e já consegui implementar em um XML maior com Tags dentro das outras tags
Obrigado de verdade
Um XML nada mais é que uma estrutura em árvore, aonde você pode navegar e iterar sobre os nós.
foreach($arquivo_xml->meuxml->Alunos->children() as $aluno) {
Só não estou bem certo se o nó inicial conta na lista, caso não, seria o código abaixo:
foreach($arquivo_xml->Alunos->children() as $aluno) {
PS.: Estou sem servidor PHP para testar os códigos