[Resolvido] Erro ao Importar XML
Boa noite!
Estou tendo problemas em importar um arquivo xml para o mysql pelo PHP.
O xml é este abaixo:
<PRODUTO2>
<DADOS>
<CHAVE>
<COD_PRODUTO>131</COD_PRODUTO>
</CHAVE>
<CADASTRO>
<NOME>TETRAMED 500MG C/100 CAPS(25X04)-MEDQUIMICA</NOME>
<EAN13>7896862970031</EAN13>
<GEN>TETRACICLINA</GEN>
<FORN>113</FORN>
<ATIVO>S</ATIVO>
<TIPO>99</TIPO>
<PRECO>16.95</PRECO>
<REFERENCIA>TETREX</REFERENCIA>
<CAIXA>50</CAIXA>
<DT>17-10-2018 11:55:19</DT>
<PRZ_MEDIO_MAX>-1</PRZ_MEDIO_MAX>
</CADASTRO>
</DADOS>
E meu código php é esse:
/ PEGA O ARQUIVO XML /
$caminhoDoXML = "C:/xampp/htdocs/cota/xml/Distriam/ServCli/Receber/tudo/PRODUTO2.XML";
$xml = simplexml_load_file($caminhoDoXML) or die("Erro, não consegui achar o XML");
$x = 0;
foreach ($xml->children() as $DADOS) {
foreach ($DADOS as $row) {
$COD_PRODUTO = $row -> CHAVE->COD_PRODUTO;
$NOME = $row -> NOME;
$EAN13 = $row -> EAN13;
$PRECO = $row -> PRECO;
if(mysqli_affected_rows($conn) != -1){
$x++;
}
}
$sql = "INSERT INTO produtos01 (COD_PRODUTO, NOME, EAN13, PRECO)
VALUES
('$COD_PRODUTO', '$NOME', '$EAN13', '$PRECO')";
$result = mysqli_query($conn,$sql);
if (!$result) {
echo 'Erro do Mysql';} else {
echo 'Importado com sucesso<BR>';
}
}
O problema é que o php insere no banco de dados os valores dentro da tag <CADASTRO> (NOME, EAN13 e PRECO) corretamente, mas os valores da tag <CHAVE> (COD_PRODUTO) não, todas as linhas aparecem com o valor 0. Por favor, ajudem, pois o COD_PRODUTO Será justamente minha chave estrangeira para minhas views. Quando tento importar o arquivo CSV via Workbench, consigo normalmente, porem o xml com PHP não.Discussão (2)
Carregando comentários...