Olá, gente.
Tenho um arquivo XML com a seguinte estrutura:
<boletim>
<cnpj>07246082000106</cnpj>
<anoletivo>2016</anoletivo>
<item>
<aluno>Elias Mateus Araújo Freitas Veríssimo</aluno>
<matricula>2923</matricula>
<aluno_email></aluno_email>
<pai>Gilmar Freitas da Silva</pai>
<pai_email></pai_email>
<pai_cpf>06703629803</pai_cpf>
<mae>Elizete Araújo dos Santos</mae>
<mae_email></mae_email>
<mae_cpf>09393252840</mae_cpf>
<responsavel>Gilmar Freitas da Silva</responsavel>
<responsavel_email></responsavel_email>
<responsavel_cpf>06703629803</responsavel_cpf>
<turma>2015 Segundo Ano A - Manhã</turma>
<curso>Ensino Fundamental - Fase 1</curso>
<nivel>Segundo Ano</nivel>
<disciplina>
<nome_disciplina>Português</nome_disciplina>
<etapa>
<num_etapa>1</num_etapa>
<nota1>9,6</nota1>
<nota2>9,6</nota2>
<nota3></nota3>
<nota4></nota4>
<nota5></nota5>
<media></media>
<recuperacao></recuperacao>
<media_recuperacao>9,6</media_recuperacao>
<faltas></faltas>
</etapa>
<etapa>
<num_etapa>2</num_etapa>
<nota1>9,0</nota1>
<nota2>9,6</nota2>
<nota3></nota3>
<nota4></nota4>
<nota5></nota5>
<media></media>
<recuperacao></recuperacao>
<media_recuperacao>9,3</media_recuperacao>
<faltas></faltas>
</etapa>
<etapa>
<num_etapa>3</num_etapa>
<nota1>9,2</nota1>
<nota2>9,0</nota2>
<nota3></nota3>
<nota4></nota4>
<nota5></nota5>
<media></media>
<recuperacao></recuperacao>
<media_recuperacao>9,1</media_recuperacao>
<faltas></faltas>
</etapa>
<etapa>
<num_etapa>4</num_etapa>
<nota1></nota1>
<nota2></nota2>
<nota3></nota3>
<nota4></nota4>
<nota5></nota5>
<media></media>
<recuperacao></recuperacao>
<media_recuperacao></media_recuperacao>
<faltas></faltas>
</etapa>
<mediaanual></mediaanual>
<totalpontos></totalpontos>
<pontosfinal>3,8E2</pontosfinal>
<provafinal></provafinal>
<recuperacaofinal></recuperacaofinal>
<mediafinal></mediafinal>
<resultado></resultado>
</disciplina>
</item>
</boletim>
Meu código ajax está assim:
$.ajax(
{
type: 'GET',
url: arq_xml,
dataType: 'xml',
// async: false,
error: function(){ $("#files").html('<div class="alert alert-danger" role="alert">Não existe este arquivo na base de dados!</div>'); },
// Caso tenha encontrato o arquivo, leio os dados do xml
success: function(xml){
// Se existir um nó financeiro
if ($(xml).find('boletim').length == 1) {
// Pegando todos os dados dentro da variavel array do arquivo xml
$(xml).find('boletim').each(function() {
cnpj = $(this).find('cnpj').text(); // variável para armazenar o cnpj
anoletivo = $(this).find('anoletivo').text(); // variável para armazenar o anoletivo
if (cnpj == inputcnpj) {
$(this).find('item').each(function(){
itemAluno.push(
{
aluno: $(this).find('aluno').text(),
matricula: $(this).find('matricula').text(),
aluno_email: $(this).find('aluno_email').text(),
pai: $(this).find('pai').text(),
pai_email: $(this).find('pai_email').text(),
pai_cpf: $(this).find('pai_cpf').text(),
mae: $(this).find('mae').text(),
mae_email: $(this).find('mae_email').text(),
mae_cpf: $(this).find('mae_cpf').text(),
responsavel: $(this).find('responsavel').text(),
responsavel_email: $(this).find('responsavel_email').text(),
responsavel_cpf: $(this).find('responsavel_cpf').text(),
turma: $(this).find('turma').text(),
curso: $(this).find('curso').text(),
nivel: $(this).find('nivel').text(),
disciplina: [
$(this).find('disciplina').each(function(){
itemDisciplina.push(
{
nome_disciplina: $(this).find('nome_disciplina').text(),
etapa: [
$(this).find('etapa').each(function(){
itemEtapa.push(
{
num_etapa: $(this).find('num_etapa').text(),
nota1: $(this).find('nota1').text(),
nota2: $(this).find('nota2').text(),
nota3: $(this).find('nota3').text(),
nota4: $(this).find('nota4').text(),
nota5: $(this).find('nota5').text(),
media: $(this).find('media').text(),
recuperacao: $(this).find('recuperacao').text(),
media_recuperacao: $(this).find('media_recuperacao').text(),
faltas: $(this).find('faltas').text(),
}
)
})
]
}
)
})
]
}
)
}
);
}
else{
$("#files").html('<div class="alert alert-danger" role="alert">Este arquivo não pertente à escola selecionada.</div>');
// alert('Este arquivo não pertente à escola selecionada.');
}
}
);
}
else{
$("#files").html('<div class="alert alert-danger" role="alert">Este não é um arquivo boletim válido!</div>');
// alert('Este não é um arquivo financeiro válido!');
}
}
}
).done(
function(){
var qtdeItemAluno = itemAluno.length;
// var qtdeDisciplinas = itemAluno[0]['disciplina'].length;
// var qtdeEtapas = itemEtapa.length;
// var qtdeDisciplinas = itemAluno[0]['disciplina'].length;
// var qtdeEtapas = itemAluno[0]['disciplina'][0]['etapa'].length;
$("#divProgress span").html('Salvando dados...');
$("#progressbar").css('width','0%');
$("#progressbar").html('0%');
$("#progress-bar").show();
$("#rowItens qtdeItens").html(qtdeItemAluno+' registros.');
$("#rowItens").show();
// alert(qtdeItemAluno+" "+qtdeDisciplinas+" "+qtdeEtapas);
alert(itemAluno[0]['disciplina']);
}
);
O problema é que não estou conseguindo pegar os subníveis do xml. Alguém pode me dar uma ajudinha?
Obrigado.