regina 0 Denunciar post Postado Abril 16, 2012 Boa tarde, eu tenho o seguinte arquivo xml SimpleXMLElement Object ( [cServico] => Array ( [0] => SimpleXMLElement Object ( [Codigo] => 41106 [Valor] => 12,80 [PrazoEntrega] => 6 [ValorMaoPropria] => 0,00 [ValorAvisoRecebimento] => 2,80 [ValorValorDeclarado] => 0,00 [EntregaDomiciliar] => S [EntregaSabado] => N [Erro] => 0 [MsgErro] => SimpleXMLElement Object ( ) ) [1] => SimpleXMLElement Object ( [Codigo] => 40010 [Valor] => 29,00 [PrazoEntrega] => 2 [ValorMaoPropria] => 0,00 [ValorAvisoRecebimento] => 2,80 [ValorValorDeclarado] => 0,00 [EntregaDomiciliar] => S [EntregaSabado] => S [Erro] => 0 [MsgErro] => SimpleXMLElement Object ( ) ) ) ) Neste arquivo recebo o array cServico 0 e 1 e dentro destes valores que eu preciso gravar em uma sessão if($xml->cServico->Erro == '0') { $sedex = array( "codigo" => $xml->cServico->Codigo, "valor" => $xml->cServico->Valor, "prazo_entrega" => $xml->cServico->PrazoEntrega, "aviso_recebto" => $xml->cServico->ValorAvisoRecebimento, "erro" => $xml->cServico->Erro, "msg_erro" => $xml->cServico->MsgErro, ); return $sedex; } o valor de $sedex fica Array ( [codigo] => SimpleXMLElement Object ( [0] => 41106 ) [valor] => SimpleXMLElement Object ( [0] => 12,80 ) [prazo_entrega] => SimpleXMLElement Object ( [0] => 6 ) [aviso_recebto] => SimpleXMLElement Object ( [0] => 2,80 ) [erro] => SimpleXMLElement Object ( [0] => 0 ) [msg_erro] => SimpleXMLElement Object ( ) ) Como devo fazer para retornar 2 arrays de cServico? Agradeço a atenção Compartilhar este post Link para o post Compartilhar em outros sites
Kakashi_Hatake 267 Denunciar post Postado Abril 16, 2012 Usei o mesmo xml que você postou no outro tópico :thumbsup: <?php $DOMDocument = new DOMDocument( '1.0', 'UTF-8' ); $DOMDocument->preserveWhiteSpace = false; $DOMDocument->load( 'test.xml' ); $result = array( ); foreach( $DOMDocument->getElementsByTagName( 'cServico' ) as $content ) { $nodes = array( ); foreach( $content->childNodes as $child ) { $nodes[ $child->nodeName ] = $child->nodeValue; } $result[ ] = $nodes; } var_dump( $result ); Saída array 0 => array 'Codigo' => string '41106' (length=5) 'Valor' => string '12,80' (length=5) 'PrazoEntrega' => string '6' (length=1) 'ValorMaoPropria' => string '0,00' (length=4) 'ValorAvisoRecebimento' => string '2,80' (length=4) 'ValorValorDeclarado' => string '0,00' (length=4) 'EntregaDomiciliar' => string 'S' (length=1) 'EntregaSabado' => string 'N' (length=1) 'Erro' => string '0' (length=1) 'MsgErro' => string '' (length=0) 1 => array 'Codigo' => string '40010' (length=5) 'Valor' => string '29,00' (length=5) 'PrazoEntrega' => string '2' (length=1) 'ValorMaoPropria' => string '0,00' (length=4) 'ValorAvisoRecebimento' => string '2,80' (length=4) 'ValorValorDeclarado' => string '0,00' (length=4) 'EntregaDomiciliar' => string 'S' (length=1) 'EntregaSabado' => string 'S' (length=1) 'Erro' => string '0' (length=1) 'MsgErro' => string '' (length=0) Compartilhar este post Link para o post Compartilhar em outros sites
regina 0 Denunciar post Postado Abril 18, 2012 Carlos Coelho, obrigada, vou tentar, mas acho que você terá que desenhar para mim... parece muito difícil é diferente não entra na minha cabeça... Compartilhar este post Link para o post Compartilhar em outros sites
regina 0 Denunciar post Postado Abril 20, 2012 Olá mantive a função que já estava usando, só inclui (string) antes de passar os valores como me sugeriu o luan-alves em outro tópico Problema resolvido!!! Compartilhar este post Link para o post Compartilhar em outros sites