Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Fala pessoal.
Estou importando um arquivo xml para o meu DB porém, não consigo ler o campo data do xml. Todos os campos são lidos, menos o campo data. No xml ele está nesse formato: 09/06/2021 23:59:00
Abaixo segue o código que estou usando:
$xml = simplexml_load_file('cupons.xml');
foreach($xml->coupon as $cupom) {
echo $cupom->code.'<br>';
echo $cupom->data.'<br>';
}
Obrigado!>
13 horas atrás, Matheus Tavares disse:
Olá @ILR master, tudo certo?
Então, você tem certeza de que data faz parte do mesmo nível hierárquico que code?
Tente visualizar os detalhes do que está sendo processado na iteração utilizando print_r ou var_dump, dentro do foreach. Assim:
$xml = simplexml_load_file('cupons.xml');
echo '<pre>';//exibir espaços em branco e formatar o print_r
foreach($xml->coupon as $cupom) {
var_dump( $cupom );
echo $cupom->code.'<br>';
echo $cupom->data.'<br>';
}
// ou quem sabe: var_dump( $xml ); (fora do foreach)
Você pode dar uma olhada nos parâmetros opcionais da simplexml_load_file para ver se alguma mudança auxilia na interpretação correta do seu arquivo, caso seja esse o problema: https://www.php.net/manual/en/libxml.constants.php
E não esqueça de habilitar as mensagens de erro.
// no início do seu arquivo
ini_set( 'display_errors', 1 );
ini_set( 'display_startup_errors', 1 );
error_reporting( E_ALL );Olá @Matheus Tavares, obrigado por sua resposta.
Eu dei o var_dump e ele me trás a seguinte estrutura:
Onde era data, alterei pra endDate.
object(SimpleXMLElement)[5]
public 'code' (length=16)
public 'vigency'
object(SimpleXMLElement)[6]
public 'endDate' (length=19)
public 'link' (length=40)
public 'discount' (length=2)
public 'store'
object(SimpleXMLElement)[7]
public 'name' (length=6)
public 'id' (length=4)
public 'image1' (length=58)
public 'title' (length=76)
public 'category'
object(SimpleXMLElement)[8]
public 'name' (length=18)
public 'id' (length=2)
Obrigado.
@Matheus Tavares, bom dia.
Já consegui aqui rs....
$xml = simplexml_load_file('cupons.xml');
echo '<pre>';//exibir espaços em branco e formatar o print_r
foreach($xml->coupon as $cupon) {
//var_dump( $cupon );
echo $cupom = $cupon->code.'<br>';
echo $validade = $cupon->vigency->endDate.'<br>';
echo $url = $cupon->link.'<br>';
echo $desconto = $cupon->discount.'<br>';
echo $loja = $cupon->store->name.'<br>';
echo $id = $cupon->store->id.'<br>';
echo $foto = $cupon->store->image1.'<br>';
echo $titulo = $cupon->title.'<br>';
echo $categoria = $cupon->category->name2;
}
Mas muito obrigado por sua ajuda. Abs
Olá @ILR master, tudo certo?
Então, você tem certeza de que data faz parte do mesmo nível hierárquico que code?
Tente visualizar os detalhes do que está sendo processado na iteração utilizando print_r ou var_dump, dentro do foreach. Assim:
// ou quem sabe: var_dump( $xml ); (fora do foreach)
Você pode dar uma olhada nos parâmetros opcionais da simplexml_load_file para ver se alguma mudança auxilia na interpretação correta do seu arquivo, caso seja esse o problema: https://www.php.net/manual/en/libxml.constants.php
E não esqueça de habilitar as mensagens de erro.
// no início do seu arquivo