Ir ao conteúdo

Posts recomendados

Postado

boa noite pessoal, estou com um problema ao ler um arquivo xml no qual mostra os veiculos de uma concessionaria . A estrutura do xml é mais ou menos essa:

<veiculo>
<id>1249239</id>
<tipoveiculo>Carro</tipoveiculo>
<zerokm>N</zerokm>
<placa>CBA-4321</placa>
<portas>4</portas>
<cor id="12">Preto</cor>
<combustivel id="5">Flex</combustivel>
<preco>R$ 299.800,00</preco>
<complementos>
<complemento id="1">Adaptado p/ deficiente físico</complemento>
<complemento id="2">Alienado</complemento>
<complemento id="3">Blindado</complemento>
</complementos>
<opcionais>
<opcional id="54">Air bag</opcional>
<opcional id="4">Alarme</opcional>
<opcional id="6">Ar condicionado</opcional>
<opcional id="7">Ar condicionado digital</opcional>
</opcionais>
<acessorios>
<acessorio id="1">Aerofólio</acessorio>
<acessorio id="5">Alto falante</acessorio>
<acessorio id="30">Alto falantes dianteiros</acessorio>
</acessorios>
<fotos>
<foto>https://dsae.s3.amazonaws.com/15689926000103/Fotos/CBA-4321_01.jpg?u=20190916162650</foto>
<foto>https://dsae.s3.amazonaws.com/15689926000103/Fotos/CBA-4321_02.jpg?u=20190916162652</foto>
</fotos>
</veiculo>



eu consigo fazer ler todas as linhas, como preço, modelo, ano, mas quando chega em fotos, acessorios, opcionais eu não consigo fazer exibir as coisas. estou usando o seguinte codigo para exibir:

$xml = simplexml_load_file('carros.xml');
foreach($xml->veiculo as $item){
echo utf8_decode($item -> marca);
echo utf8_decode($item -> placa);
...
}



mas não sei como por no codigo para exibir as opções que estão dentro dos acessorios por exemplo. alguem pode me ajudar por favor?

Postado

@Michael Picolo Vixi então ai já não sei.

@Michael Picolo tenta esse: 

Código completo para ler XML com PHP

php // Faz o load do arquivo XML e retorna um objeto $arquivo_xml = simplexml_load_file('meus_links. xml'); // Loop para ler o objeto for ( $j = 0; $j < count( $arquivo_xml ); $j++ ) { // Imprime o valor o valor da tag <id></id> echo $arquivo_xml->link[$j]->id .

  • Curtir 1
Postado

@Michael Picolo Seria algo assim:

image.thumb.png.602a116013ae3ea876a4191e5ba2ac07.png

 

Código:

<?php

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

foreach($xml->veiculo as $item)
{
    echo 'ID: ', utf8_encode($item->id), '<br>';
    echo 'Tipo: ', utf8_encode($item->tipoveiculo), '<br>';
    echo 'ZeroKM: ', utf8_encode($item->zerokm), '<br>';
    echo 'Placa: ', utf8_encode($item->placa), '<br>';
    echo 'Quantidades de Portas: ', utf8_encode($item->portas), '<br>';
    echo 'Tipo de Combustivel: ', utf8_encode($item->combustivel->attributes()->id), ' - ', utf8_encode($item->combustivel), '<br>';
    echo 'Preço: ', utf8_encode($item->preco), '<br><br>';

    echo 'Complementos: ', '<br>';

    foreach ($item->complementos->complemento as $complemento)
    {
        echo utf8_encode($complemento->attributes()->id), ' - ', $complemento, '<br>';
    }

    echo '<br>', 'Opcionais: ', '<br>';

    foreach ($item->opcionais->opcional as $opcional)
    {
        echo utf8_encode($opcional->attributes()->id), ' - ', $opcional, '<br>';
    }

    echo '<br>', 'Acessorios: ', '<br>';

    foreach ($item->acessorios->acessorio as $acessorio)
    {
        echo utf8_encode($acessorio->attributes()->id), ' - ', $acessorio, '<br>';
    }

    echo '<br>', 'Fotos: ', '<br>';

    foreach ($item->fotos->foto as $foto)
    {
        echo $foto, '<br>';
    }
}

 

  • Obrigado 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!