PHP com XML

27/12/2020

0

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 sequinte 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?
Michael Picolo

Michael Picolo

Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar