Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom Dia,
Não estou conseguindo capturar dados de um array de objetos, os outros eu consigo pegar normalmente mas o campo que traz um array eu não estou conseguindo. Por exemplo o campo histórico de Nome.
Vcs podem me ajudar por favor
Estrutura do webservice:
Campo Tipo Descrição
nomeCivil String Nome civil do aluno.
vetHistNomeCivil Vetor<DadosHistNome> Histórico de alterações do nome civil
....
....nomeAnterior String Nome anterior do aluno
tsMudancaNome String Timestamp de mudança do nome
________________________________________________________
Código PHP
$result = $response->obterDadosAlunoDDDResult->resultado;
if($result){
if(isset($response->obterDadosAlunoDDDResult->nomeCivil)){
$arrayInfo['nomeCivil'] = $response->obterDadosAlunoDDDResult->nomeCivil;
}$arrayInfo['vetHistNomeCivil'] = $response->obterDadosAlunoDDDResult->vetHistNomeCivil;
}Segue
<resultado>1</resultado>
<nomeCivil>FULANO DE SOUZA</nomeCivil>
<vetHistNomeCivil/>
<nomeAbreviadoCivil>FULANO DE SOUZA</nomeAbreviadoCivil>
<vetHistNomeAbreviadoCivil/>
<nomeSocial>FULANO DE SOUZA</nomeSocial>
<vetHistNomeSocial>
<DadosHistNome>
<codEvento>S</codEvento>
<nomeAnterior>FULANO DE SOUZA BARBOSA</nomeAnterior>
<tsMudancaNome>2016-04-15-04-44-43</tsMudancaNome>
<processo>S001</processo>
</DadosHistNome>
</vetHistNomeSocial>
<cpf>08151234456</cpf>
<codCurso>CSS</codCurso>
<descCurso>SERVICO SOCIAL</descCurso>
<codHabilitacao>BSS</codHabilitacao>Certo, o xml que você passou está errado ele precisa de um node para iniciar e fechar o xml, eu coloquei um <fimtag>
teste.xml
<fimtag>
<resultado>1</resultado>
<nomeCivil>FULANO DE SOUZA</nomeCivil>
<vetHistNomeCivil/>
<nomeAbreviadoCivil>FULANO DE SOUZA</nomeAbreviadoCivil>
<vetHistNomeAbreviadoCivil/>
<nomeSocial>FULANO DE SOUZA</nomeSocial>
<vetHistNomeSocial>
<DadosHistNome>
<codEvento>S</codEvento>
<nomeAnterior>FULANO DE SOUZA BARBOSA</nomeAnterior>
<tsMudancaNome>2016-04-15-04-44-43</tsMudancaNome>
<processo>S001</processo>
</DadosHistNome>
</vetHistNomeSocial>
<cpf>08151234456</cpf>
<codCurso>CSS</codCurso>
<descCurso>SERVICO SOCIAL</descCurso>
<codHabilitacao>BSS</codHabilitacao>
</fimtag>
xml.php
<?php
$xml = simplexml_load_file('teste.xml');
$hist_nome = $xml->vetHistNomeSocial->DadosHistNome;
echo $hist_nome->codEvento . '<br>';
echo $hist_nome->nomeAnterior . '<br>';
echo $hist_nome->tsMudancaNome . '<br>';
echo $hist_nome->processo . '<br>';
Não tem segredo, para ler o array do xml.
Abraço
Bom Dia, André!
Estou fiz o que vc me passou mas continua dando o erro Undefined property: stdClass::$DadosHistNome
Boa tarde,
Coloca um exemplo do xml corretamente, fica complicado tentar 'ver' um xml nesses paragrafos que você colocou aqui no fórum.
Coloca o seu código e o xml dentro da tag code que tem no editor do fórum.
Ajuda-nos a te ajudar.