Jump to content

Search the Community

Showing results for tags 'xml'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Q&A Desenvolvimento
    • Perguntas e respostas rápidas
  • Desenvolvimento e Banco de Dados
    • HTML e CSS
    • Java
    • Javascript
    • .NET
    • PHP
    • Python
    • Ruby
    • Mobile
    • Ambientes de Desenvolvimento
    • Arquitetura e Métodos Ágeis
    • Banco de Dados
    • DevOps
    • Desenvolvimento de Games
    • E-Commerce e Pagamentos Online
    • SEO e Otimizações
    • WordPress
    • Algoritmos & Outras Tecnologias
  • Design e Produto
    • Fotografia
    • Photoshop
    • Design de interfaces e UX
    • Edição/Produção de Vídeos
    • Marketing Online
    • Desenho, Ilustração e 3D
  • Entretenimento e uso pessoal
    • Geral
    • Segurança & Malwares
    • Gadgets e wearable
    • Softwares e Apps
    • Entretenimento

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Google+


Hangouts


Skype


Twitter


deviantART


Github


Flickr


LinkedIn


Pinterest


Facebook


Site Pessoal


Localização


Interesses

Found 139 results

  1. Maykel-ctba

    Converter XML em tabela HTML

    Bom dia! Tenho um XML que vem da Associação Comercial do Paraná contendo consultas sobre o documento de uma pessoa. Antigamente, eles tinham um "padrão de layout" estático, o que facilitava na hora de transformar em uma tabela HTML para exibir no meu site. Podia fazer a leitura em foreachs, e sempre dava certo. Porém, agora as informações que vem sempre mudam de acordo com o documento consultado. Minha ideia é refatorar a classe que faz a leitura desse XML e a converte em HTML. Mas não tenho nem ideia para começar. Gostaria de algo flexível, que eu pudesse customizar os "labels" e seus valores (para formatar, por exemplo, quando for data ou valores) e que não dependesse de um número X de foreachs, pois os subníveis sempre mudam. XML: https://codepen.io/maykelesser/pen/gvLrrg (coloquei no HTML, para visualização) Os XMLs podem ser menores, mas peguei um bem extenso aqui para mostrar mais ou menos como eles vêm. Hoje, eu pego o conteúdo de "registro-acsp-net" e exibo na tela em formato de tabela através do código abaixo: http://sandbox.onlinephpfunctions.com/code/38008dde4f96be7f6dfc9ac280f4eae38af2eb41 Como podem ver, não é a coisa mais legal do mundo. Na verdade, este código acima não foi feito por mim, mas estou tendo que dar manutenção a ele com frequência justamente por conta desses problemas. Resumindo: Tenho o XML citado e gostaria de convertê-lo numa tabela HTML, podendo flexibilizar seus labels e values para poder formatar como nos convém. Existe algo pronto já nesse sentido? Ou uma luz de como poderei fazer?
  2. Boa noite, estou tentando enviar com PHP SOAP o XML de um lote RPS assinado para o Web Service da Betha também conhecido como Fly e-nota. No entanto, não tenho tido nenhum retorno quanto a se deu algum erro ou algo do tipo. Documentação https://e-gov.betha.com.br/e-nota-test/ambienteteste.faces Ambiente Teste Webservice https://e-gov.betha.com.br/e-nota-contribuinte-test-ws/recepcionarLoteRps?wsdl https://e-gov.betha.com.br/e-nota-contribuinte-test-ws/consultarLoteRps?wsdl Layout https://e-gov.betha.com.br/e-nota/manuais/layout.pdf Modelo Conceitual http://www.abrasf.org.br/arquivos/files/NFSE-NACIONAL_Modelo_Conceitual versao 2-02.pdf Manual de Integração ABRASF http://www.abrasf.org.br/arquivos/files/NFSE-NACIONAL_Manual_De_Integracao versao 2-02.pdf Tem uma opção na área administrativa Fly e-nota para solicitar a prefeitura autorização para impressão de RPS tanto manual como eletrônica. Não sei se isso é obrigatório ou se é necessário para o meu objetivo. Parte do código para o envio: ------------------------------ function transmiteRps($xmlAssinado,$certificadoPem,$senha){ $wsdl = 'https://e-gov.betha.com.br/e-nota-contribuinte-test-ws/recepcionarLoteRps?wsdl'; $endpoint = 'https://e-gov.betha.com.br/e-nota-contribuinte-test-ws/recepcionarLoteRps'; $certificate = $certificadoPem; $password = $senha; $options = array( 'location' => $endpoint, 'keep_alive' => true, 'trace' => true, 'local_cert' => $certificate, 'passphrase' => $password, 'cache_wsdl' => WSDL_CACHE_NONE ); try { $client = new SoapClient($wsdl, $options); $function = 'EnviarLoteRpsEnvio'; $arguments = ['EnviarLoteRpsEnvio' => ['xml'=>$xmlAssinado]]; $options = []; $result = $client -> __soapCall($function, $arguments, $options); } catch(Exception $e){ $result = false; } if($result!==false){ return xml2array($result->return); }else{ return false; } }//transmiteRps ---------------------------------------------------------- function xml2array($xmlstring){ $xml = simplexml_load_string($xmlstring); $json = json_encode($xml); $array = json_decode($json, TRUE); return $array; } ----------------------------------------------- function consultaRps($cnpj, $inscricao, $protocolo, $certificadoPem, $senha){ $wsdl = 'https://e-gov.betha.com.br/e-nota-contribuinte-test-ws/consultarLoteRps?wsdl'; $endpoint = 'https://e-gov.betha.com.br/e-nota-contribuinte-test-ws/consultarLoteRps'; $certificate = $certificadoPem; $password = $senha; $xml = '<?xml version="1.0" encoding="utf-8"?> <ConsultarLoteRpsEnvio xmlns="http://www.betha.com.br/e-nota-contribuinte-test-ws"> <Prestador> <CpfCnpj> <Cnpj>'.$cnpj.'</Cnpj> </CpfCnpj> <InscricaoMunicipal>'.$inscricao.'</InscricaoMunicipal> </Prestador> <Protocolo>'.$protocolo.'</Protocolo> </ConsultarLoteRpsEnvio>'; $options = array( 'location' => $endpoint, 'keep_alive' => true, 'trace' => true, 'local_cert' => $certificate, 'passphrase' => $password, 'cache_wsdl' => WSDL_CACHE_NONE ); try { $client = new SoapClient($wsdl, $options); $function = 'consultarLoteRps'; $arguments = ['consultarLoteRps' => ['xml'=>$xml]]; $options = []; $result = $client -> __soapCall($function, $arguments, $options); } catch(Exception $e){ $result = false; } if($result!==false){ return $result->return; }else{ return false; } } //consultaRps -------------------------------- $certificadoPem=dirname(__FILE__).'/certificado.pem'; $senha='xxxxx'; //senha do certificado ---------------------------------- //assina RPS $xmlAssinado=assinaRps(dirname(__FILE__).'/only_rps.xml'); //usei para assinar só a RPS file_put_contents(dirname(__FILE__).'/rps_temp/rps1.xml','<?xml version="1.0" encoding="utf-8"?> <EnviarLoteRpsEnvio xmlns="https://e-gov.betha.com.br/e-nota-contribuinte-test-ws"><LoteRps Id="LOTE1"><NumeroLote>1</NumeroLote><Cnpj>xxxxxxxxxxxxxx</Cnpj><InscricaoMunicipal>xxxx</InscricaoMunicipal><QuantidadeRps>1</QuantidadeRps> <ListaRps>'.str_replace('<?xml version="1.0" encoding="utf-8"?>','',$xmlAssinado).'</ListaRps></LoteRps></EnviarLoteRpsEnvio>'); $_SESSION['nome_uri']='LOTE1'; $xmlAssinado=assinaRps(dirname(__FILE__).'/rps_temp/rps1.xml'); //usei para assinar o Lote RPS $resultado=transmiteRps($xmlAssinado, $certificadoPem, $senha); if(!empty($resultado["Protocolo"])){//se tem protocolo e sucesso //$resultado["NumeroLote"] //$resultado["Protocolo"] //consulta lote e pega nfse $nfseResposta = consultaRps('xxxxxxxxxxxxx', //cnpj 'xxxx', //inscrição municipal $resultado["Protocolo"], $certificadoPem, $senha); if($nfseResposta!==false){ echo '<textarea cols="120" rows="70">'; echo $nfseResposta; echo '</textarea>'; }else{ echo 'Erro ao consultar RPS'; } }else{ echo "erro no envio"; } Vídeo Tutorial do código NFSe acima porém para outro webservice que não é da Betha. https://www.youtube.com/watch?v=v1rByVX1_FY Desde já agradeço a atenção e colaboração dos colegas. Funcionando postarei aqui a solução com o código completo para quem precisar.
  3. Jhess

    Dar echo em array específico

    Olá pessoal, tenho a seguinte estrutura de array: array(40) { [0]=> object(SimpleXMLElement)#6 (6) { ["title"]=> string(85) "Reserva do Paiva tem programação gratuita para crianças e adultos no Grande Recife" ["link"]=> string(131) "https://g1.globo.com/pe/pernambuco/noticia/reserva-do-paiva-tem-programacao-gratuita-para-criancas-e-adultos-no-grande-recife.ghtml" ["guid"]=> string(131) "https://g1.globo.com/pe/pernambuco/noticia/reserva-do-paiva-tem-programacao-gratuita-para-criancas-e-adultos-no-grande-recife.ghtml" ["description"]=> object(SimpleXMLElement)#46 (0) { } ["category"]=> string(2) "G1" ["pubDate"]=> string(31) "Sat, 03 Feb 2018 00:25:17 -0000" } [1]=> object(SimpleXMLElement)#7 (6) { ["title"]=> string(32) "AO VIVO: Planeta Atlântida 2018" ["link"]=> string(101) "https://g1.globo.com/rs/rio-grande-do-sul/planeta-atlantida/2018/ao-vivo/planeta-atlantida-2018.ghtml" ["guid"]=> string(101) "https://g1.globo.com/rs/rio-grande-do-sul/planeta-atlantida/2018/ao-vivo/planeta-atlantida-2018.ghtml" ["description"]=> string(72) " Acompanhe ao vivo os shows e os detalhes de tudo que acontece na Saba " ["category"]=> string(2) "G1" ["pubDate"]=> string(31) "Sat, 03 Feb 2018 00:22:19 -0000" } [2]=> object(SimpleXMLElement)#8 (6) { ["title"]=> string(76) "Empresas caem no golpe do 'falso protesto' e enviam dinheiro para criminosos" ["link"]=> string(122) "https://g1.globo.com/to/tocantins/noticia/empresas-caem-no-golpe-do-falso-protesto-e-enviam-dinheiro-para-criminosos.ghtml" ["guid"]=> string(122) "https://g1.globo.com/to/tocantins/noticia/empresas-caem-no-golpe-do-falso-protesto-e-enviam-dinheiro-para-criminosos.ghtml" ["description"]=> object(SimpleXMLElement)#47 (0) { } ["category"]=> string(2) "G1" ["pubDate"]=> string(31) "Sat, 03 Feb 2018 00:19:31 -0000" } } Onde é montada num foreach: $lista = array(); foreach($xml -> item as $item){ $lista[] = $item; } Sabendo que a estrutura está assim: [2]=> object(SimpleXMLElement)#8 (6) { ["title"]=> string(76) "Empresas caem no golpe do 'falso protesto' e enviam dinheiro para criminosos" ["link"]=> string(122) "https://g1.globo.com/to/tocantins/noticia/empresas-caem-no-golpe-do-falso-protesto-e-enviam-dinheiro-para-criminosos.ghtml" ["guid"]=> string(122) "https://g1.globo.com/to/tocantins/noticia/empresas-caem-no-golpe-do-falso-protesto-e-enviam-dinheiro-para-criminosos.ghtml" ["description"]=> object(SimpleXMLElement)#47 (0) { } ["category"]=> string(2) "G1" ["pubDate"]=> string(31) "Sat, 03 Feb 2018 00:19:31 -0000" } Como dou echo no "title" e "description"?
  4. Desenvolvedores

    Duvida na hora de ler XML

    Bom dia eu gostaria de saber se alguém pode me ajudar, eu trabalho em uma escola de informática e estou desenvolvendo nosso site mas meus patrões resolveram fazer uma alteração no site que me deixou muito atrapalhado, temos uma lista com todos os alunos da escola e todos os alunos teriam um acesso com sua matricula para ver histórico, faltas, etc.. Mas pra isso deveria ser cadastrado aluno por aluno, posteriormente todos os dias lançar faltas daquele respectivo dia, mas para "agilizar" o trabalho resolveram que seria mais fácil se eu importasse esses dados de alguma forma para o site, bom para minha sorte eu achei no sistema que gerencia nossos alunos como gerar um relatório em xml, mas esse XML vai além da compreensão do nobre programador que aqui os fala! bom, andei dando uma pesquisada na interwebs mas nada encontrei de como posso ler um XML assim!: [...] <Details Level="2"> <Section SectionNumber="0"> <Field Name="bairro1" FieldName="{aluno1.bairro}"><FormattedValue>Centro</FormattedValue><Value>Centro</Value></Field> <Field Name="cep1" FieldName="{aluno1.cep}"><FormattedValue>11600000</FormattedValue><Value>11600000</Value></Field> <Field Name="dtnascimento1" FieldName="{aluno1.dtnascimento}"><FormattedValue>18/01/2016</FormattedValue><Value>2016-01-18</Value></Field> <Field Name="rg1" FieldName="{aluno1.rg}"><FormattedValue></FormattedValue><Value></Value></Field> <Field Name="cpf1" FieldName="{aluno1.cpf}"><FormattedValue>55555555555</FormattedValue><Value>55555555555</Value></Field> <Field Name="codaluno1" FieldName="{aluno1.codaluno}"><FormattedValue>1</FormattedValue><Value>1</Value></Field> <Field Name="codcontrato1" FieldName="{contrato1.codcontrato}"><FormattedValue>1</FormattedValue><Value>1</Value></Field> <Field Name="nome1" FieldName="{aluno1.nome}"><FormattedValue>Leandro Aparecido Fabricio</FormattedValue><Value>Leandro Aparecido Fabricio</Value></Field> <Field Name="responsavel1" FieldName="{aluno1.responsavel}"><FormattedValue>Leandro Fabricio</FormattedValue><Value>Leandro Fabricio</Value></Field> <Field Name="TrataFone1" FieldName="{@TrataFone}"><FormattedValue>(12) 3893-1555</FormattedValue><Value>(12) 3893-1555</Value></Field> <Field Name="TrataFone21" FieldName="{@TrataFone2}"><FormattedValue>( ) -</FormattedValue><Value>( ) -</Value></Field> <Field Name="EnderecoComNumero1" FieldName="{@EnderecoComNumero}"><FormattedValue>São Geraldo,29</FormattedValue><Value>São Geraldo, 29</Value></Field> <Field Name="CidadeUf1" FieldName="{@CidadeUf}"><FormattedValue>São Sebastião - SP</FormattedValue><Value>São Sebastião - SP</Value></Field> </Section> </Details> [...] Viram! até hoje só tinha visto estruturas XML simples: <tag> <outratag>bla bla bla</outratag> <maisumatag>fulano</maisumatag> </tag> Mas o XML que o sistema gera possui atributos e Values, FormattedValue e vei, não entendi nada ja tentei varias formas de recuperar isso no php e nada, já tentei até limpar esse XML mas perdi 30 minutos e vi que passava de uma parte pra baixo o código estava ficando atrapalhado, e não da pra fazer registro por registro esse XML possui mais de 15 mil linhas... isso é uma importação que será feita todo dia pelo estagiário ainda se ele tiver que limpar o XML para importar F*****, o coitado vai perder muito tempo! Desde já obrigado.
  5. MarcDu

    Problemas sitemap

    Alguém poderia me ajudar com um sitemap, Eu fiz usando um software fiz usando alguns sites na web, mais só dá uma página e com uma unica url <?xml version="1.0" encoding="UTF-8"?> <!-- Sitemap File Generated by https://freesitemapgenerator.com/ at Tue, 19 Dec 2017 17:57:03 +0100 --> -<urlset xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> -<url> <loc>http://www.loja3online.com.br/</loc> <lastmod>2017-12-19T17:57:03+00:00</lastmod> <changefreq>daily</changefreq> <priority>1.00</priority> </url> </urlset> Só encontra 1 URL, eu já tentei software, outros sites e sempre encontro o mesmo problema, Alguém pode me indicar por onde eu devo começar a procurar este erro? Obrigado
  6. Estou tendo problemas com array em php. Eu preciso enviar um xml via soap para o webservice com alguns itens do produto, mas uma tag está me trazendo dúvidas. O manual wsdl tem um xml como este: <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://service.edei.correios.com.br/"> <soapenv:Header/> <soapenv:Body> <ser:solicitarCodigoEtiquetaInternacional> <!--Optional:--> <xml> <remessa> <idioma>PT</idioma> <encomendas> <encomenda> <cartaoDePostagem>0061962740</cartaoDePostagem> <codigoControleCliente>100052202</codigoControleCliente> <nomeRemetente>magento.COM</nomeRemetente> <enderecoRemetente>Street Test</enderecoRemetente> <numeroEnderecoRemetente>2017</numeroEnderecoRemetente> <complementoEnderecoRemetente></complementoEnderecoRemetente> <codigoPostalRemetente>83642</codigoPostalRemetente> <cidadeRemetente>MERIDIAN</cidadeRemetente> <estadoRemetente>ID</estadoRemetente> <paisRemetente>US</paisRemetente> <emailRemetente>sales@bodybuilding.com</emailRemetente> <telefoneRemetente></telefoneRemetente> <siteRemetente>www.bodybuilding.com</siteRemetente> <nomeDestinatario>Junior Maia</nomeDestinatario> <tipoDocumentoDestinatario>1</tipoDocumentoDestinatario> <numeroDocumentoDestinatario>16549651468</numeroDocumentoDestinatario> <enderecoDestinatario>Street Test</enderecoDestinatario> <numeroEnderecoDestinatario>S/N</numeroEnderecoDestinatario> <complementoEnderecoDestinatario>Test</complementoEnderecoDestinatario> <codigoPostalDestinatario>70680506</codigoPostalDestinatario> <caixaPostalDestinatario></caixaPostalDestinatario> <cidadeDestinatario>Curitiba</cidadeDestinatario> <ufDestinatario>PR</ufDestinatario> <paisDestinatario>BR</paisDestinatario> <emailDestinatario>comoquepode@gmail.com</emailDestinatario> <telefoneDestinatario></telefoneDestinatario> <pesoObjeto>150</pesoObjeto> <comprimentoObjeto>16</comprimentoObjeto> <larguraObjeto>11</larguraObjeto> <alturaObjeto>2</alturaObjeto> <modalidadeDistribuicaoObjeto>33375</modalidadeDistribuicaoObjeto> <modalidadePagamentoImpostosObjeto>1</modalidadePagamentoImpostosObjeto> <codigoMoeda>USD</codigoMoeda> <valorFreteObjeto>50.00</valorFreteObjeto> <valorSeguroObjeto>0.00</valorSeguroObjeto> <modoDevolucaoObjeto>1</modoDevolucaoObjeto> <seguroDevolucaoObjeto>N</seguroDevolucaoObjeto> <itensEncomenda> <itemEncomenda> <codigoSHItem>100190</codigoSHItem> <codigoSKUItem>TYH820040</codigoSKUItem> <descricaoItem>BPI SPORTS BLOX - 110 SERVINGS - BLUEBERRY</descricaoItem> <quantidadeItem>1</quantidadeItem> <valorUnitario>100.00</valorUnitario> <pesoUnitario></pesoUnitario> </itemEncomenda> <itemEncomenda> <codigoSHItem>100191</codigoSHItem> <codigoSKUItem>TYH820041</codigoSKUItem> <descricaoItem>BPI SPORTS BLOX - 110 SERVINGS - WHITE</descricaoItem> <quantidadeItem>1</quantidadeItem> <valorUnitario>100.00</valorUnitario> <pesoUnitario></pesoUnitario> </itemEncomenda> <itemEncomenda> <codigoSHItem>100192</codigoSHItem> <codigoSKUItem>TYH820042</codigoSKUItem> <descricaoItem>BPI SPORTS BLOX - 110 SERVINGS - RED</descricaoItem> <quantidadeItem>1</quantidadeItem> <valorUnitario>100.00</valorUnitario> <pesoUnitario></pesoUnitario> </itemEncomenda> </itensEncomenda> </encomenda> </encomendas> </remessa>]]> </xml> </ser:solicitarCodigoEtiquetaInternacional> </soapenv:Body> Observe que a tag <itemEncomenda> se repete dependendo de quantos produtos o pedido possui, e é exatamente isso que não consigo alimentar no php. Estou usando o StdClass para montar um array com as posições solicitadas no exemplo e montar o xml com o SoapVar, está funcionando para todas as tags, mas para itemEncomendanão! Por exemplo, eu tenho 4 itens na ordem, apenas o último está escrito na tag <itemEncomenda>, os outros não aparecem. Imagino que isso aconteça porque um índice itemEncomenda é criado na matriz e ele sobrescreve as posições antigas. Eu realmente não sei como montar uma matriz repetindo essa tag. Aqui meu código para montar o xml com StdClasse montar o xml: $var = new StdClass; $var->xml = new stdClass; $var->xml->remessa = new stdClass; $var->xml->remessa->idioma = $this->idioma; $var->xml->remessa->encomendas = new stdClass; $var->xml->remessa->encomendas->encomenda = new stdClass; //remetende $var->xml->remessa->encomendas->encomenda->cartaoDePostagem = $this->cartao_postagem; $var->xml->remessa->encomendas->encomenda->codigoControleCliente = ''; $var->xml->remessa->encomendas->encomenda->nomeRemetente = $this->remetente_nome; $var->xml->remessa->encomendas->encomenda->enderecoRemetente = $this->remetente_rua; $var->xml->remessa->encomendas->encomenda->numeroEnderecoRemetente = $this->remetente_numero; $var->xml->remessa->encomendas->encomenda->complementoEnderecoRemetente = $this->remetente_complemento; $var->xml->remessa->encomendas->encomenda->codigoPostalRemetente = $this->remetente_cep; $var->xml->remessa->encomendas->encomenda->cidadeRemetente = $this->remetente_cidade; $var->xml->remessa->encomendas->encomenda->estadoRemetente = $this->remetente_estado; $var->xml->remessa->encomendas->encomenda->paisRemetente = $this->remetente_pais; $var->xml->remessa->encomendas->encomenda->emailRemetente = $this->remetente_email; $var->xml->remessa->encomendas->encomenda->telefoneRemetente = $this->remetente_telefone; $var->xml->remessa->encomendas->encomenda->siteRemetente = $this->remetente_site; //destinatário customer $var->xml->remessa->encomendas->encomenda->nomeDestinatario = $customer_nome; $var->xml->remessa->encomendas->encomenda->tipoDocumentoDestinatario = '1'; //1-cpf 2-cnpj 3-passport 4-not informed $var->xml->remessa->encomendas->encomenda->numeroDocumentoDestinatario = $customer_taxvat; $var->xml->remessa->encomendas->encomenda->enderecoDestinatario = $customer_rua; $var->xml->remessa->encomendas->encomenda->numeroEnderecoDestinatario = $customer_rua_numero; $var->xml->remessa->encomendas->encomenda->complementoEnderecoDestinatario = $customer_compemento; $var->xml->remessa->encomendas->encomenda->codigoPostalDestinatario = $customer_cep; $var->xml->remessa->encomendas->encomenda->caixaPostalDestinatario = ''; $var->xml->remessa->encomendas->encomenda->cidadeDestinatario = $customer_cidade; $var->xml->remessa->encomendas->encomenda->ufDestinatario = $customer_uf; $var->xml->remessa->encomendas->encomenda->paisDestinatario = $customer_pais; $var->xml->remessa->encomendas->encomenda->emailDestinatario = $customer_email; $var->xml->remessa->encomendas->encomenda->telefoneDestinatario = $customer_telefone; //objeto $var->xml->remessa->encomendas->encomenda->pesoObjeto = ''; $var->xml->remessa->encomendas->encomenda->comprimentoObjeto = ''; $var->xml->remessa->encomendas->encomenda->larguraObjeto = ''; $var->xml->remessa->encomendas->encomenda->alturaObjeto = ''; $var->xml->remessa->encomendas->encomenda->modalidadeDistribuicaoObjeto = $this->modalidade_distribuicao_objeto; $var->xml->remessa->encomendas->encomenda->modalidadePagamentoImpostosObjeto = $this->modalidade_pagamento_imposto; $var->xml->remessa->encomendas->encomenda->codigoMoeda = $this->moeda; $var->xml->remessa->encomendas->encomenda->valorFreteObjeto = ''; $var->xml->remessa->encomendas->encomenda->valorSeguroObjeto = ''; $var->xml->remessa->encomendas->encomenda->modoDevolucaoObjeto = $this->modo_devolocao; $var->xml->remessa->encomendas->encomenda->seguroDevolucaoObjeto = $this->seguro_devolucao ; //itens $var->xml->remessa->encomendas->encomenda->itensEncomenda = new stdClass; foreach ($invoice->getAllItems() as $item){ if ($item->getOrderItem()->getParentItem()) { continue; } $item_name = $item->getName(); $item_sku = $item->getSku(); $item_id = $item->getProductId(); $item_qty = $item->getQty(); $item_price = $item->getPrice(); $_product = Mage::getModel('catalog/product')->load($item_id); $item_peso = $_product->getWeight(); $var->xml->remessa->encomendas->encomenda->itensEncomenda->itemEncomenda = new stdClass; $var->xml->remessa->encomendas->encomenda->itensEncomenda->itemEncomenda->codigoSHItem = ''; $var->xml->remessa->encomendas->encomenda->itensEncomenda->itemEncomenda->codigoSKUItem = $item_sku; $var->xml->remessa->encomendas->encomenda->itensEncomenda->itemEncomenda->descricaoItem = $item_name; $var->xml->remessa->encomendas->encomenda->itensEncomenda->itemEncomenda->quantidadeItem = $item_qty; $var->xml->remessa->encomendas->encomenda->itensEncomenda->itemEncomenda->valorUnitario = $item_price; $var->xml->remessa->encomendas->encomenda->itensEncomenda->itemEncomenda->pesoUnitario = $item_peso; } print_r($var); A saída no console é um array exatamente conforme necessário, mas com apenas 1 item, e $invoice->getAllItems()há 5! Saída do array acima: 2017-12-14T18:17:04+00:00 DEBUG (7): stdClass Object ( [xml] => stdClass Object ( [remessa] => stdClass Object ( [idioma] => PT [encomendas] => stdClass Object ( [encomenda] => stdClass Object ( [cartaoDePostagem] => 0057018901 [codigoControleCliente] => [nomeRemetente] => [enderecoRemetente] => [numeroEnderecoRemetente] => [complementoEnderecoRemetente] => [codigoPostalRemetente] => [cidadeRemetente] => [estadoRemetente] => [paisRemetente] => [emailRemetente] => [telefoneRemetente] => [siteRemetente] => [nomeDestinatario] => josué ribeiro de frança rocha [tipoDocumentoDestinatario] => 1 [numeroDocumentoDestinatario] => 69077886168 [enderecoDestinatario] => QNE 34 casa 16 Taguatinga Norte [numeroEnderecoDestinatario] => 16 [complementoEnderecoDestinatario] => Sandu Norte [codigoPostalDestinatario] => 72125340 [caixaPostalDestinatario] => [cidadeDestinatario] => Brasília [ufDestinatario] => DF [paisDestinatario] => BR [emailDestinatario] => josurbeiro@gmail.com [telefoneDestinatario] => (61) 98379-7370 [pesoObjeto] => [comprimentoObjeto] => [larguraObjeto] => [alturaObjeto] => [modalidadeDistribuicaoObjeto] => 33367 [modalidadePagamentoImpostosObjeto] => 1 [codigoMoeda] => BRL [valorFreteObjeto] => [valorSeguroObjeto] => [modoDevolucaoObjeto] => 1 [seguroDevolucaoObjeto] => 1 [itensEncomenda] => stdClass Object ( [itemEncomenda] => stdClass Object ( [codigoSHItem] => [codigoSKUItem] => LI-60669896245-preto [descricaoItem] => Smartwatch DZ09 Câmera 2.0 MP Bluetooth Conectividade Redes Sociais Fashion - Preto [quantidadeItem] => 2.0000 [valorUnitario] => 49.9000 [pesoUnitario] => 0.4000 ) ) ) ) ) ) ) Deveria ser assim (com 5 tags [itemEncomenda]) para montar o xml corretamente: 2017-12-14T18:17:04+00:00 DEBUG (7): stdClass Object ( [xml] => stdClass Object ( [remessa] => stdClass Object ( [idioma] => PT [encomendas] => stdClass Object ( [encomenda] => stdClass Object ( [cartaoDePostagem] => 0057018901 [codigoControleCliente] => [nomeRemetente] => [enderecoRemetente] => [numeroEnderecoRemetente] => [complementoEnderecoRemetente] => [codigoPostalRemetente] => [cidadeRemetente] => [estadoRemetente] => [paisRemetente] => [emailRemetente] => [telefoneRemetente] => [siteRemetente] => [nomeDestinatario] => josué ribeiro de frança rocha [tipoDocumentoDestinatario] => 1 [numeroDocumentoDestinatario] => 69077886168 [enderecoDestinatario] => QNE 34 casa 16 Taguatinga Norte [numeroEnderecoDestinatario] => 16 [complementoEnderecoDestinatario] => Sandu Norte [codigoPostalDestinatario] => 72125340 [caixaPostalDestinatario] => [cidadeDestinatario] => Brasília [ufDestinatario] => DF [paisDestinatario] => BR [emailDestinatario] => josurbeiro@gmail.com [telefoneDestinatario] => (61) 98379-7370 [pesoObjeto] => [comprimentoObjeto] => [larguraObjeto] => [alturaObjeto] => [modalidadeDistribuicaoObjeto] => 33367 [modalidadePagamentoImpostosObjeto] => 1 [codigoMoeda] => BRL [valorFreteObjeto] => [valorSeguroObjeto] => [modoDevolucaoObjeto] => 1 [seguroDevolucaoObjeto] => 1 [itensEncomenda] => stdClass Object ( [itemEncomenda] => stdClass Object ( [codigoSHItem] => [codigoSKUItem] => LI-60669896245-preto [descricaoItem] => Smartwatch DZ09 Câmera 2.0 MP Bluetooth Conectividade Redes Sociais Fashion - Preto [quantidadeItem] => 2.0000 [valorUnitario] => 49.9000 [pesoUnitario] => 0.4000 ) [itemEncomenda] => stdClass Object ( [codigoSHItem] => [codigoSKUItem] => LI-60669896245-branco [descricaoItem] => Smartwatch DZ09 Câmera 2.0 MP Bluetooth Conectividade Redes Sociais Fashion - Branco [quantidadeItem] => 2.0000 [valorUnitario] => 49.9000 [pesoUnitario] => 0.4000 ) [itemEncomenda] => stdClass Object ( [codigoSHItem] => [codigoSKUItem] => LI-60669896245-vermelho [descricaoItem] => Smartwatch DZ09 Câmera 2.0 MP Bluetooth Conectividade Redes Sociais Fashion - Vermelho [quantidadeItem] => 3.0000 [valorUnitario] => 49.9000 [pesoUnitario] => 0.4000 ) [itemEncomenda] => stdClass Object ( [codigoSHItem] => [codigoSKUItem] => LI-60669896245-verde [descricaoItem] => Smartwatch DZ09 Câmera 2.0 MP Bluetooth Conectividade Redes Sociais Fashion - Verde [quantidadeItem] => 1.0000 [valorUnitario] => 49.9000 [pesoUnitario] => 0.4000 ) [itemEncomenda] => stdClass Object ( [codigoSHItem] => [codigoSKUItem] => LI-60669896245-cinca [descricaoItem] => Smartwatch DZ09 Câmera 2.0 MP Bluetooth Conectividade Redes Sociais Fashion - Cinza [quantidadeItem] => 4.0000 [valorUnitario] => 49.9000 [pesoUnitario] => 0.4000 ) ) ) ) ) ) ) Talvez esse xml não deva ser montado com array, pois a tag itemEncomenda precisa aparecer várias vezes (de acordo com a quantidade produtos do foreach) no mesmo XML, isso significa (a meu ver) que teria que repetir o key do array com o mesmo nome, o que não é permitido no PHP. Eu tentei também criar um array conforme demonstrado abaixo, mas tropeço no mesmo problema, array com key com o mesmo nome: $soapArgs = array( 'xml' => array( 'remessa' => array( 'idioma' => 'PT', 'encomendas' => array( 'encomenda' => array( //remetende 'cartaoDePostagem' => $this->cartao_postagem, 'codigoControleCliente' => '', 'nomeRemetente' => $this->remetente_nome, 'enderecoRemetente' => $this->remetente_rua, 'numeroEnderecoRemetente' => $this->remetente_numero, 'complementoEnderecoRemetente' => $this->remetente_complemento, 'codigoPostalRemetente' => $this->remetente_cep, 'cidadeRemetente' => $this->remetente_cidade, 'estadoRemetente' => $this->remetente_estado, 'paisRemetente' => $this->remetente_pais, 'emailRemetente' => $this->remetente_email, 'telefoneRemetente' => $this->remetente_telefone, 'siteRemetente' => $this->remetente_site, //destinatário customer 'nomeDestinatario' => $customer_nome, 'tipoDocumentoDestinatario' => 1, //1-cpf 2-cnpj 3-passport 4-not informed 'numeroDocumentoDestinatario' => $customer_taxvat, 'enderecoDestinatario' => $customer_rua, 'numeroEnderecoDestinatario' => $customer_rua_numero, 'complementoEnderecoDestinatario' => $customer_compemento, 'codigoPostalDestinatario' => $customer_cep, 'caixaPostalDestinatario' => '', 'cidadeDestinatario' => $customer_cidade, 'ufDestinatario' => $customer_uf, 'paisDestinatario' => $customer_pais, 'emailDestinatario' => $customer_email, 'telefoneDestinatario' => $customer_telefone, //objeto 'pesoObjeto' => '', 'comprimentoObjeto' => '', 'larguraObjeto' => '', 'alturaObjeto' => '', 'modalidadeDistribuicaoObjeto' => '', 'modalidadePagamentoImpostosObjeto' => '', 'codigoMoeda' => '', 'valorFreteObjeto' => '', 'valorSeguroObjeto' => '', 'modoDevolucaoObjeto' => '', 'seguroDevolucaoObjeto' => '', //itens 'itensEncomenda' => array( 'itemEncomenda' => array( 'codigoSHItem' => '', 'codigoSKUItem' => '', 'descricaoItem' => '', 'quantidadeItem' => '', 'valorUnitario' => '', 'pesoUnitario' => '' ), //itemEncomenda 'itemEncomenda' => array( 'codigoSHItem' => '', 'codigoSKUItem' => '', 'descricaoItem' => '', 'quantidadeItem' => '', 'valorUnitario' => '', 'pesoUnitario' => '' ), //itemEncomenda 'itemEncomenda' => array( 'codigoSHItem' => '', 'codigoSKUItem' => '', 'descricaoItem' => '', 'quantidadeItem' => '', 'valorUnitario' => '', 'pesoUnitario' => '' ), //itemEncomenda ), //itensEncomenda ), //encomenda ), //encomendas ), //remessa ) //xml ); Percebe-se que dentro do array 'itensEncomenda' => array(várias key com itemEncomenda), e é aqui que eu não consigo achar uma solução. Talvez deveria montar o XML com XWMWrite() ou SimpleXML() mas aí eu me deparo com o problema de não conseguir colocar um XML feito na "mão" dentro de um SoapVar() para enviar no padrão correto que o webservice wsdl espera. Eu achei um cara que passou pelo mesmo problema que o meu, repetição de tag no xml, ele resolveu com ArrayObject(), mas eu não consegui aplicar no meu código: Problema igual resolvido Alguém pode me dar uma força?
  7. Juliano L Laverde Ranite

    Enviar e Receber XML por SOAP PHP

    Estou começando a entender o conceito do SOAP, estou fazendo uma implementação e preciso enviar um XML para o DATASUS e receber a resposta, porém os arquivos já estão preparados, ou seja, um XML pronto pra eu manipular posteriormente no ambiente de produção, para que eu receba como resposta outro XML, procurei muito na internet e consegui montar um código que consegue chegar até o SOAP mas retorna um erro de um atributo que fica dentro da WSDL e não sei como resolver, alguém poderia me ajudar? Por se tratar de uma chave pública vou postar o código literal aqui: <?php try { $client = new SoapClient('https://servicoshm.saude.gov.br/cadsus/CadsusService/v5r0?wsdl'); // "ligar" o debug $parameters = array('<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:cad="http://servicos.saude.gov.br/cadsus/v5r0/cadsusservice" xmlns:cnes="http://servicos.saude.gov.br/wsdl/mensageria/v5r0/cnesusuario" xmlns:fil="http://servicos.saude.gov.br/wsdl/mensageria/v5r0/filtropesquisa" xmlns:nom="http://servicos.saude.gov.br/schema/corporativo/pessoafisica/v1r2/nomecompleto" xmlns:nom1="http://servicos.saude.gov.br/schema/corporativo/pessoafisica/v1r0/nomefamilia" xmlns:cpf="http://servicos.saude.gov.br/schema/corporativo/documento/v1r2/cpf" xmlns:mun="http://servicos.saude.gov.br/schema/corporativo/v1r2/municipio" xmlns:uf="http://servicos.saude.gov.br/schema/corporativo/v1r1/uf" xmlns:tip="http://servicos.saude.gov.br/schema/corporativo/documento/v5r0/tipodocumento"> <soap:Header> <wsse:Security soap:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"> <wsse:UsernameToken wsu:Id="UsernameToken-F6C95C679D248B6E3F143032021465917"> <wsse:Username>CADSUS.CNS.PDQ.PUBLICO</wsse:Username> <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">kUXNmiiii#RDdlOELdoe00966</wsse:Password> <wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">KkB/ki6qUjcZpGNqL4monw==</wsse:Nonce> <wsu:Created>2015-04-29T15:10:14.659Z</wsu:Created> </wsse:UsernameToken> </wsse:Security> </soap:Header> <soap:Body> <cad:requestPesquisar> <cnes:CNESUsuario> <cnes:CNES>6963447</cnes:CNES> <cnes:Usuario>LEONARDO</cnes:Usuario> <!--Optional:--> <cnes:Senha>?</cnes:Senha> </cnes:CNESUsuario> <fil:FiltroPesquisa> <!--Optional:--> <fil:nomeCompleto> <nom:Nome>SERGIO ARAUJO CORREIA LIMA</nom:Nome> </fil:nomeCompleto> <fil:tipoPesquisa>IDENTICA</fil:tipoPesquisa> </fil:FiltroPesquisa> <cad:higienizar>0</cad:higienizar> </cad:requestPesquisar> </soap:Body> </soap:Envelope>'); $wcf = $client->Pesquisar($parameters); // o resto do código }catch(SoapFault $fault){ echo 'Request: <br/><xmp>', $client->__getLastRequest(), '</xmp><br/><br/> Error Message: <br/>', $fault->getMessage(); } Pelo soapUI eu passo esse XML para a WSDL acima e ele me responde: <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"> <S:Header xmlns:S="http://www.w3.org/2003/05/soap-envelope"> <work:WorkContext xmlns:work="http://oracle.com/weblogic/soap/workarea/">rO0ABXdfABl3ZWJsb2dpYy5hcHAuY2Fkc3VzLWVhci01AAAA1gAAACN3ZWJsb2dpYy53b3JrYXJlYS5TdHJpbmdXb3JrQ29udGV4dAAVNS40LjE1LVNOQVBTSE9ULjEwNzM5AAA=</work:WorkContext> </S:Header> <S:Body xmlns:S="http://www.w3.org/2003/05/soap-envelope"> <cad:responsePesquisar xmlns:cad="http://servicos.saude.gov.br/cadsus/v5r0/cadsusservice"> <res:ResultadoPesquisa xmlns:res="http://servicos.saude.gov.br/wsdl/mensageria/v5r0/resultadopesquisa"> <ns18:CNS xmlns:ns18="http://servicos.saude.gov.br/wsdl/mensageria/v5r0/resultadopesquisa"> <ns4:numeroCNS xmlns:ns4="http://servicos.saude.gov.br/schema/cadsus/v5r0/cns">703404696479515</ns4:numeroCNS> </ns18:CNS> <ns18:NomeCompleto xmlns:ns18="http://servicos.saude.gov.br/wsdl/mensageria/v5r0/resultadopesquisa"> <ns11:Nome xmlns:ns11="http://servicos.saude.gov.br/schema/corporativo/pessoafisica/v1r2/nomecompleto">SERGIO ARAUJO CORREIA LIMA</ns11:Nome> </ns18:NomeCompleto> <ns18:dataNascimento xmlns:ns18="http://servicos.saude.gov.br/wsdl/mensageria/v5r0/resultadopesquisa">1981-11-10</ns18:dataNascimento> <ns18:Mae xmlns:ns18="http://servicos.saude.gov.br/wsdl/mensageria/v5r0/resultadopesquisa"> <ns11:Nome xmlns:ns11="http://servicos.saude.gov.br/schema/corporativo/pessoafisica/v1r2/nomecompleto">LINDYNALVA SOARES ARAUJO CORREIA LIMA</ns11:Nome> </ns18:Mae> <ns18:Pai xmlns:ns18="http://servicos.saude.gov.br/wsdl/mensageria/v5r0/resultadopesquisa"> <ns11:Nome xmlns:ns11="http://servicos.saude.gov.br/schema/corporativo/pessoafisica/v1r2/nomecompleto">DEJAIR CORREIA LIMA</ns11:Nome> </ns18:Pai> <ns18:Sexo xmlns:ns18="http://servicos.saude.gov.br/wsdl/mensageria/v5r0/resultadopesquisa"> <ns19:codigoSexo xmlns:ns19="http://servicos.saude.gov.br/schema/corporativo/pessoafisica/v1r1/sexo">M</ns19:codigoSexo> </ns18:Sexo> <ns18:MunicipioNascimento xmlns:ns18="http://servicos.saude.gov.br/wsdl/mensageria/v5r0/resultadopesquisa"> <ns15:codigoMunicipio xmlns:ns15="http://servicos.saude.gov.br/schema/corporativo/v1r2/municipio">211130</ns15:codigoMunicipio> <ns15:nomeMunicipio xmlns:ns15="http://servicos.saude.gov.br/schema/corporativo/v1r2/municipio">SAO LUIS</ns15:nomeMunicipio> <ns15:UF xmlns:ns15="http://servicos.saude.gov.br/schema/corporativo/v1r2/municipio"> <ns16:codigoUF xmlns:ns16="http://servicos.saude.gov.br/schema/corporativo/v1r1/uf"/> <ns16:siglaUF xmlns:ns16="http://servicos.saude.gov.br/schema/corporativo/v1r1/uf">MA</ns16:siglaUF> </ns15:UF> </ns18:MunicipioNascimento> <ns18:PaisNascimento xmlns:ns18="http://servicos.saude.gov.br/wsdl/mensageria/v5r0/resultadopesquisa"> <ns20:codigoPais xmlns:ns20="http://servicos.saude.gov.br/schema/corporativo/v1r2/pais">010</ns20:codigoPais> <ns20:nomePais xmlns:ns20="http://servicos.saude.gov.br/schema/corporativo/v1r2/pais">BRASIL</ns20:nomePais> </ns18:PaisNascimento> <ns18:GrauQualidade xmlns:ns18="http://servicos.saude.gov.br/wsdl/mensageria/v5r0/resultadopesquisa"> <ns21:percentualQualidade xmlns:ns21="http://servicos.saude.gov.br/schema/cadsus/v5r0/grauqualidade">91</ns21:percentualQualidade> </ns18:GrauQualidade> <ns18:IdentificadorCorporativo xmlns:ns18="http://servicos.saude.gov.br/wsdl/mensageria/v5r0/resultadopesquisa"> <ns2:numeroIdentificadorCorporativo xmlns:ns2="http://servicos.saude.gov.br/schema/cadsus/v5r0/identificadorcorporativo">0002189687</ns2:numeroIdentificadorCorporativo> </ns18:IdentificadorCorporativo> <ns18:Situacao xmlns:ns18="http://servicos.saude.gov.br/wsdl/mensageria/v5r0/resultadopesquisa">true</ns18:Situacao> </res:ResultadoPesquisa> </cad:responsePesquisar> </S:Body> </soap:Envelope> *** Porém quando eu rodo o código acima ele me retorna: SOAP-ERROR: Encoding: object has no 'CNESUsuario' property Já li uma tonelada de conteúdo e não consigo encontrar uma solução para o problema.
  8. Blacksnake

    Xml dentro de código c#

    Boas pessoal, Estou consumindo um webservice xml, em que as querys em xml são enormes e obriga a variáveis dinamicas dentro da estrutura xml do pedido a enviar ao webservice. Como posso "colar" a query xml dentro do meu código atribuido a uma variável? Ex: String version ="1.0"; String myquery =" <?xml version="$version" encoding="utf-8"?> <Header> <Title>Hello World VB</Title> <Author>Myself</Author> <Description>Says Hello to the world.</Description> </Header> "; Apenas um exemplo de xml, pois não é nenhum pedido, no entanto nao estou a conseguir.
  9. deejaywesley

    js xml programação TV

    Boa tarde amigos! Postei esse mesmo problema em outro fórum, mas não obtive resposta, ai como a galera aqui fala mais sobre js, talvez alguém possa me ajudar... tenho o arquivo tv.xml que é +ou- assim <programme start="20171005021500 -0300" stop="20171005041500 -0300" channel="TELECINE PREMIUM HD (opção 2)"> <title lang="pt">Setembro em Shiraz</title> <desc lang="pt">Uma família judia é pega pela Revolução Islâmica em 1979, ... ... ...</desc> <credits> <director>Wayne Blair</director> </credits> <date>2015</date> <category lang="pt">Filme</category> <category lang="pt">Drama</category> </programme> <programme start="20171005041500 -0300" stop="20171005060000 -0300" channel="TELECINE PREMIUM HD (opção 2)"> <title lang="pt">Assaltos em Cadeia</title> <desc lang="pt">Eddie mantém um estilo de vida glamouroso. ... ... ...</desc> <credits> <director>Tristan Patterson</director> <actor>Christopher Lambert</actor> <actor>Jim Sturgess</actor> <actor>Isabel Lucas</actor> </credits> <date>2014</date> <category lang="pt">Filme</category> <category lang="pt">Ação</category> <country lang="pt">EUA</country> </programme> ele tem a grade de programas tvs de vários dias, e o que preciso é só o atual, o que está passando agora em alguns canais, preciso que um js leia este arquivo, e de acordo com essa parte start="20171005041500 -0300" channel="TELECINE PREMIUM HD (opção 2)" me retorne: <title lang="pt">, <desc lang="pt">, <date>, <category lang="pt">... alguém pode me ajudar? to procurando na net mais to levando tombo igual bêbado de monociclo ah! a parte que lê o arquivo xml e a parte q me retorna as informaçoes, tem que ser separados, porque o resultado nao sera uma tabela, serao espalhados cada canal em div separados... nesse link https://www.npmjs.com/package/xmltv eu acho q ta pra montar o que preciso, mas nao sei como fazer....
  10. Boa Tarde pessoal, preciso que meu cliente faça o download das informações de uma determinada tabela da minha base de dados. Teria como eu fazer um botão em php para importar esses dados em xml? Pois preciso passar esses dados no excel
  11. Boa tarde a todos. Seguinte, eu quero consultar os pedidos de um site através do Itau Shopline, e eles fornecem uma URL que tenho que mandar alguns parametros para obter a resposta. Até ai tudo bem, consigo enviar os parametros do pedido para a url especificada. Porém ela me retorna da seguinte forma: <consulta> <PARAMETER> <PARAM ID="CodEmp" VALUE="123456789101112345678910"/> <PARAM ID="Pedido" VALUE="00000958"/> <PARAM ID="Valor" VALUE="100,00"/> <PARAM ID="tipPag" VALUE="02"/> <PARAM ID="sitPag" VALUE="04"/> <PARAM ID="dtPag" VALUE=""/> <PARAM ID="codAut" VALUE=""/> <PARAM ID="numId" VALUE=""/> <PARAM ID="compVend" VALUE=""/> <PARAM ID="tipCart" VALUE=""/> </PARAMETER> </consulta> A minha duvida é: Como consigo manipular essas informações do XML uma vez que essa resposta nem mesmo está no meu servidor e sim no deles. Desculpe se não fui muito claro, tentarei refazer a pergunta se ficar complicado de entender. Obrigado!!
  12. Bom Dia ! Estou com uma dificuldade com um código que estou montando em php para buscar uma lista suspensa a partir de outra lista suspensa. Usando Ajax e xml. Exemplo: Tenho no banco de dados 2 grupos de despesas, 2 despesas e 1 funcionário. Quero que ao selecionar 1 grupo de despesas na lista suspensa eu veja apenas as despesas vinculadas aquele grupo em outra lista suspensa. Assim como quero ver os funcionários cadastrados em uma terceira lista suspensa caso o grupo de despesas esteja vinculado a funcionários também. Bom o que está ocorrendo é que ao selecionar um grupo de despesas a lista suspensa das despesas fica sempre em branco, porém a lista suspensas de funcionários está funcionando corretamente, aparecendo os funcionários sempre que seleciono o grupo de despesas vinculado a funcionários. Coloquei um comentário no código que quando escrevo o código do grupo direto na programação tudo funciona. Como se me indicasse que o problema está na variável que busca o código do grupo, mas não consigo acertar. Abaixo o Código do Ajax: <html> <script type="text/javascript"> var linhas = "<?php echo $conv_desp_rec?>"; var linhasv = "<?php echo $linhasv?>"; var id_empresa = "<?php echo $id_empresa?>"; for(i=0 ; i < linhas ; i++){ function buscar_desp_func(i){ var nm_grdespesa = $('#grdesp'+i).val(); var nm_grdespesa_vinculo = <?php if($linhasv > 1){ for($v=1 ; $v < $linhasv ; $v++){ echo"['$grdespesa_vinculo[0]','$grdespesa_vinculo[$v]'];"; } }elseif($linhasv == 1){ for($v=0 ; $v < $linhasv ; $v++){ echo"['$grdespesa_vinculo[0]'];"; } }elseif($linhasv == 0){ echo"['000000'];"; } ?> if(nm_grdespesa){ var url_1 = 'xml/despesas_ajax.php?nm_grdespesa='+nm_grdespesa+'&linha='+i+'&id_empresa='+id_empresa; //não está funcionando essa busca, assim funcionou->'xml/despesas_ajax.php?nm_grdespesa=29&linha='+i+'&id_empresa='+id_empresa; $.get(url_1, function(dataReturn) { $('#load_desp'+i).html(dataReturn); }); } for(v=0 ; v < linhasv ; v++){ if(nm_grdespesa == nm_grdespesa_vinculo[v]){ var url = 'xml/funcionarios_ajax.php?linha='+i+'&id_empresa='+id_empresa; $.get(url, function(dataReturn) { $('#load_func'+i).html(dataReturn); }); }else{ var url = 'xml/funcionarios_ajax_vazio.php?linha='+i; $.get(url, function(dataReturn) { $('#load_func'+i).html(dataReturn); }); } } } } </script> </html> E abaixo o código das listas suspensas: <html> <?php include('conexao.php'); $sql9 = "select * from tb_grdespesa where id_empresa='$id_empresa'"; //$sql10 = "select nm_despesa from tb_despesa where id_empresa='$id_empresa'"; $sql11 = "select ds_nome_func from tb_func where id_empresa='$id_empresa'"; $resultado_nm_grdesp = mysql_query($sql9,$conexao) or die(mysql_error($conexao)); //$resultado_nm_desp = mysql_query($sql10,$conexao) // or die(mysql_error($conexao)); $resultado_nm_func = mysql_query($sql11,$conexao) or die(mysql_error($conexao)); $linhas9 = mysql_num_rows($resultado_nm_grdesp); //$linhas10 = mysql_num_rows($resultado_nm_desp); $linhas11 = mysql_num_rows($resultado_nm_func); for( $x9=0 ; $x9 < $conv_desp_rec ; $x9++ ) { echo "<div class='campo_grdesp'> <select name='grdesp$x9' id='grdesp$x9' onBlur='buscar_desp_func($x9)' onChange='buscar_desp_func($x9)' onKeyup='buscar_desp_func($x9)' >"; for( $x10=0 ; $x10 < $linhas9 ; $x10++ ) { $ds_nome_grdesp = mysql_result($resultado_nm_grdesp,$x10,'nm_grdespesa'); $cd_grdesp = mysql_result($resultado_nm_grdesp,$x10,'cd_grdespesa'); echo "<option value='$cd_grdesp'>$ds_nome_grdesp</option>"; } echo "</select> </div>"; echo "<div id='load_desp$x9' class='campo_desp'> <select name='desp$x9' id='desp$x9'> <option><-Selecione o Grupo da Despesa</option> </select> </div>"; echo "<div id='load_func$x9' class='campo_func'> <select name='func$x9' id='func$x9'> <option><-Selecione o Grupo da Despesa</option> </select> </div>"; echo" <div class='campo_valor_desp'> <input type='text' class='input' name='valor_desp$x9' value ='0,00' onkeypress='mascara(this,semponto)' onblur='somadesp();faltasobraautomatica()' id='valor_desp$x9' /> </div> <div class='campo_obs_desp'> <label for='obs_desp$x9'>Observações:</label> <input type='text' class='input' name='obs_desp$x9' onkeypress='mascara(this,semponto)' value ='observação' id='obs_desp$x9' /> </div>"; } ?> </html>
  13. Estou acessando um webservice, há varios métodos e consigo acessá-los normalmente, mas há um método que quando tento acessá-lo ocorre o erro "Erro no documento XML (2, 422)". Tentei acessar o webservice usando o programa SOAPUI, com ele consigo acessar o webservice e consigo acessar este método, o retorno é um arquivo SOAP XML. Ou seja, o webservice esta no ar, e o método aparentemente funciona. Para conseguir o arquivo XML criei uma variavel do tipo "object[]", será que preciso utilizar outro tipo de variável? Segue código que estou utilizando: metodosMM.AppHttpControllersV1SoapMethodsControllerService metodos = new metodosMM.AppHttpControllersV1SoapMethodsControllerService(); metodos.Url = "http://slinky-sandbox.madeiramadeira.com.br/api/v1/soap/methods?token=" + varToken; object[] ordemCompras = metodos.getOrdersNew(1,1); ** metodoMM = minha referencia externa do webservice. ** metodos = é a instancia do "metodoMM". ** varToken = é a variavel que possui o token de validação para acesso ao webservice. **** O erro ocorre quando executo o método getOrdersNew !!!!
  14. Olá sou novo aqui no fórum, então se postei em lugar errado, já desculpas. Bom estou começando agora com Java e preciso da ajuda de vocês que são mais experientes. Eu tenho uma String com o conteúdo de um XML desta forma: <tag1> <tag2> <tag3>aaaa</tag3> <tag4>bbbb</tag4> </tag2> <tag2> <tag3></tag3> <tag4>zzzz</tag4> </tag2> <tag2> <tag3></tag3> <tag4></tag4> </tag2> <tag2> <tag3>yyyy</tag3> <tag4></tag4> </tag2> <tag1> Preciso ajustar o XML, excluindo as TAGs sem conteúdo deixando como está abaixo: <tag1> <tag2> <tag3>aaaa</tag3> <tag4>bbbb</tag4> </tag2> <tag2> <tag4>zzzz</tag4> </tag2> <tag2> <tag3>yyyy</tag3> </tag2> <tag1> desde já agradeço a ajuda.
  15. Guilherme De Lima Campos

    XML e PHP: Atributo da tag com espaço gera erro na leitura

    Bom dia a todos, estou com o seguinte problema: Segue arquivo XML <?xml version="1.0" encoding="UTF-8"?> <nfeProc versao="3.10" xsi:schemaLocation="http://www.portalfiscal.inf.br/nfe procNFe_v1.00.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ds="http://www.w3.org/2000/09/xmldsig " xmlns="http://www.portalfiscal.inf.br/nfe"> <NFe xmlns="http://www.portalfiscal.inf.br/nfe"> </NFe> </nfeProc> Como podem ver na tag nfeProc no atributo xmlns:ds antes da aspas de fechar ele tem um espaço. Sendo assim, utilizando a função simplexml_load_file() ele retorna o seguinte erro: Warning: simplexml_load_file(): base_xml/22.xml:1: namespace error : xmlns:ds: 'http://www.w3.org/2000/09/xmldsig ' is not a valid URI in C:\funcoes.php on line 264 Alguém consegue me auxiliar pra proceder com a correção desse bug? Segue a function na qual estou utilizando pra conferência de você. function XMLModelo($arquivo){ if(empty($arquivo)){ return null; } else { if(XMLValida($arquivo)){ $xml = simplexml_load_file($arquivo); if($xml->CTe && !$xml->NFe && !$xml->ListaNfse){ return "cte"; } else if($xml->NFe && !$xml->CTe && !$xml->ListaNfse){ return "nfe"; } else if($xml->ListaNfse && !$xml->CTe && !$xml->NFe){ return "nfse-betha"; } else if(!$xml->ListaNfse && !$xml->CTe && !$xml->NFe){ return "invalido"; } } else { return false; } } }
  16. Olá pessoal, Alguém conhece XML e DTD e poderia me ajudar em uma dúvida? Eu estou tentando validar um documento XML e a sua DTD externa. Eu segui o tutorial de como criar uma DTD (e além disso tive outra ajuda), mas não está dando certo. <?xml version='1.0' encoding='UTF-8' standalone="no"?> <!DOCTYPE contre SYSTEM "CONTRE.dtd"> <corpus> <position type="contre"> <discours auteur="Ângela Portela" id="1" date="25/08/2016" lieu="Senado Federal"> blabla </discours> </position> </corpus> E aqui está a DTD: <?xml version='1.0' encoding='UTF-8'?> <!ELEMENT corpus (position, discours)> <!ELEMENT position (type)> <!ATTLIST contre (#CDATA)> <!ELEMENT discours (auteur, id, date, lieu)> <!ATTLIST auteur (#CDATA)> <!ATTLIST id (#CDATA)> <!ATTLIST date (#CDATA)> <!ATTLIST lieu (#CDATA)> Eu estou tentando validar com o xmllint: xmllint CONTRE.xml --dtdvalid CONTRE.dtd --noout Erros: CONTRE.dtd:5: parser error : ATTLIST: no name for Attribute <!ATTLIST contre (#CDATA)> ^ CONTRE.dtd:5: parser error : Content error in the external subset <!ATTLIST contre (#CDATA)> ^ Alguém poderia me ajudar? Obrigada! :)
  17. jadnuy

    Ler e alterar XML com o PHP

    Olá Pessoal, bom dia. Eu não sou desenvolvedor, entendo pouco de programação em PHP mas acredito que ele seja a forma mais simples de eu fazer o que preciso. Atualmente eu tenho em meu servidor, um arquivo XML com todos os ramais e nomes, uma lista de ramais no qual os aparelhos fazem um sync e se caso tiver alguma alteração no XML ele atualiza no aparelho, o meu grande problema é que eu fico perdendo muito tempo indo na unha editar o XML, o que eu queria fazer é criar uma pagina index, mais básica possível, ela deve ler o XML e altera-lo, assim eu posso deixar essa pagina disponível para recepcionista fazer essas alterações. Anexo segue um exemplo do XML que eu uso. Desde já agradeço a ajuda! agenda.xml
  18. Boa tarde, pessoal! Estou tendo extremas dificuldades para fazer a integração de um website com o método de Checkout Transparente, do PagSeguro. Sou bem novato em PHP e JS, mas geralmente me dou bem em pegar exemplos e configurá-los conforme minha necessidade... Mas a documentação do PagSeguro é extremamente esparsa, e eles são incapazes de disponibilizar modelos completos, ou de fazer explicação de como configurar as coisas essencialmente necessárias para o funcionamento da plataforma. Tudo que eles disponibilizam é um monte de documentações e bibliotecas, mas não explicam como relacioná-los... enfim. Alguém poderia disponibilizar um exemplo de integração, ou explicar +/- o passo a passo e cada configuração essencial... Nossa loja não tem muitas necessidades específicas. Os compradores preencherão os dados padrão, e comprarão primordialmente por cartão de crédito. A loja possui apenas 1 produto único. Mas eu preciso aprender a implementar esse sistema também para necessidades do futuro - nada muito profundo, nada será tão complexo, mas por exemplo, haverão clientes que trabalharão com boleto, etc... Se alguém puder me explicar o passo a passo da instalação, configuração e integração, leve quanto tempo levar, cobre quanto queira cobrar, eu agradeço muito! Se preferir, me enviem um e-mail em: mateus.dso@gmail.com Desde já, muito obrigado!
  19. DarkNuub

    Gerar XML com php (erro)

    Olá pessoal, olhando alguns tópicos aki no forum mesmo eu fiz esse código porem n ta rodando direito, n sei se o problema esta no meu código ou se est no meu banco de dados <?php $conn = mysqli_connect('localhost','root','') or die ('Erro ao conectar'); $db = mysqli_select_db($conn,'teste') or die ('Erro ao conectar com o banco de dados'); $query = mysqli_query($conn,"SELECT * FROM sopraelas ORDER BY id"); while( $row = mysqli_fetch_object( $query ) ) $Write [ ] = $row ; $Writer = new XMLWriter(); $Writer->openMemory(); $Writer->startDocument( '1.0' , 'utf-8' ) ; $Writer->setIndent(true); $Writer->startElement( 'Rss' ) ; forEach ( $Write as $Nodes ) { $Writer->startElement( 'Feed' ) ; if ( is_array ( $Nodes ) ) forEach ( $Nodes as $nodeName => $nodeValue ) $Writer->writeElement ( $nodeName , $nodeValue ) ; $Writer->endElement(); } $Writer->endElement(); $Output = $Writer->outputMemory ( true ) ; $fHandle = fopen ( 'backup.xml' , 'w+' ) ; fwrite ( $fHandle , $Output ) ; fclose ( $fHandle ) ; header ( 'Content-Type: text/xml;charset=utf-8' ) ; echo $Output; ?> a questão e q esta dando o seguinte erro: no meu banco de dados a estrutura é a seguinte: n sei se errei na estrutura,no código ou nos dois.
  20. Leandro de Jesus

    Integrar site com WebMotors

    Pessoas muito boa tarde. Alguém já fez um integrador com WebMotors e iCarros ? Eu já fiz da WebMotors para o site do cliente. Agora preciso fazer o caminho inverso, do site do cliente para WebMotors. Acontece que nem ligando na WebMotors não consigo resolver. Se alguém tiver experiência, por favor, compartilha qual é o caminho para entrar em contato com a empresa T.I deles. Abs
  21. hdnrf

    [Resolvido] validação de data

    Ola pessoal, Estou trabalhando com dados de um arquivo .xml, esta mostrando toda informação corretamente mas, não estou conseguindo fazer a formatação da data, alguem me da uma luz?? [...] <td>Item</td> <td>Qtd</td> <td>Valor un.</td> <td>Data</td> </tr><?php foreach($prod as $itemcompra){ echo " <tr> <td>".$itemcompra->prod->xProd."</td> <td>".$itemcompra->prod->qCom."</td> <td>".$itemcompra->prod->vUnCom."</td> <td>".$itemcompra->prod->med->dVal."</td> </tr>"; }?> </table> O problema é esse carinha: "<td>".$itemcompra->prod->med->dVal."</td>" Como posso formatar a data nessa estrutura ai? Obrigado.
  22. alexandretadashi

    xml sql server

    pessoal estou com o seguinte xml <Product> <productidentifier> <b221>03</b221> <b244>9783319449647</b244> </productidentifier> <supplydetail> <price> <j148>02</j148> <j267>25</j267> <j151>144.44</j151> <b251>DE</b251> <j153>R</j153> </price> </supplydetail> </Product> preciso trazer o valor da tag <b244> onde a tag <b251> for igual a 'DE' como eu faço?
  23. Daniel Costa da Silva

    Enviar XML como parametro SOAP no nuSoap

    Bom dia, estou com dificuldades em fazer uma requisição enviado um xml via soap usando nusoap. Server class Servicos extends MY_Controller { function __construct() { parent::__construct(); $CI =& get_instance(); $CI->load->library("nusoap"); $CI->nusoap->nusoap_lib(); $this->nusoap_server = new soap_server(); $this->nusoap_server->configureWSDL("SoapTeste", "urn:SoapTeste"); $this->nusoap_server->register( "RelatorioXYZ", array("tmp" => "xsd:string"), array("return" => "xsd:string"), false, false, "rpc", "encoded", "Obter Relatorio do XYZ"); function RelatorioXYZ($tmp){ if (!$tmp) { return new soap_fault('-1', 'Server', 'Favor Preencher com o XML!'); } else { $xmlstr = "<?xml version='1.0' encoding='utf-8'?>". "<i4pro></i4pro>"; $xml = new SimpleXMLElement($xmlstr); $obter_relatorio_pdf = $xml->addChild('obter_relatorio'); $obter_relatorio_pdf->addAttribute('id_relatorio', $tmp['var']['valor1']); $obter_relatorio_pdf->addAttribute('id_endosso', $tmp['var']['valor2']); $dom = new DOMDocument('1.0'); $dom->preserveWhiteSpace = false; $dom->formatOutput = true; $dom->loadXML($xml->asXML()); $cliente = new SoapClient('http://10.0.1.1/webservice/teste.asmx?WSDL'); $params = array('Servico' => 'ObterRelatorioXYZ' ,'conteudoXML' => $dom->saveXML() ); $response = $cliente->Executar($params); } } } function index() { /*$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : ''; $this->nusoap_server->service($HTTP_RAW_POST_DATA);*/ @$this->nusoap_server->service(file_get_contents("php://input")); } } SOAP Envent <SOAP-ENV:Body><ObterRelatorioXYZ><tmp xsi:type="xsd:string">&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;&lt;obter_relatorio id_relatorio=&quot;21&quot; id_endosso=&quot;7720940&quot;/&gt;</tmp></ObterRelatorioXYZ> o erro é quando eu tento tratar a variavel dentro da função, quando tento ler a string $tmp['varival']['valor1'] ele me retorna &lt;.
  24. jrpamplona

    Retorno XML

    Olá galera, estou com o seguinte problema, preciso pegar o retorno de um arquivo xml, mas não estou conseguindo pegar a informação que preciso, no arquivo xml preciso saber se a situacao foi "OK" ou "ERRO" eu só estou conseguindo pegar o RETORNO (RECEBIDA). segue o xml para analise. PHP $xml=simplexml_load_string($xmlresponse); echo $xml->retorno; XML <?xml version="1.0"?> <smsempresa> <retorno situacao="OK" codigo="1" data_envio="20/01/2016 10:33:39" operadora="- VIVO-PORTABILIDADE">RECEBIDA</retorno> </smsempresa>
  25. LuanMartinsTI

    Software para identação

    Bom pessoal, eu tenho uma CMS aqui, e em determinada parte preciso de um xml incrivelmente grande para pegar dados, é muito grande mesmo ele tem 53777 linhas, porem ta uma bagunça, existe algum software que idente, pelo amor de deus, se tiver me digam, pq eu abro ele no navegador nem as tags mostram, mostram só o conteudo delas, e abro no editor de codigo pesa muito, tem uma parte do codigo que fica em 1 linha só, o scroll lateral fica minusculo, ali eu tenho problemas, então queria saber se existe algo que faça a identação por mim, pra me livrar dessa bomba. desculpe se tiver na área errada, mas como é pra php foi o mais próximo que achei.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.