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 131 results

  1. kathsystems

    Android permissão para XML

    Olá, Pessoal estou tentando criar um arquivo xml em tempo de execução no Android: "CliendDataSet.SaveToFile('/data/data/App/files/Arquivo.xml');" .Não da erro mas não cria o arquivo. Meu Mainfast: <?xml version="1.0" encoding="utf-8"?> <!-- BEGIN_INCLUDE(manifest) --> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="%package%" android:versionCode="%versionCode%" android:versionName="%versionName%" android:installLocation="%installLocation%"> <!-- This is the platform API where NativeActivity was introduced. --> <uses-sdk android:minSdkVersion="%minSdkVersion%" android:targetSdkVersion="%targetSdkVersion%" /> String[] permissoes = new String[]{ Manifest.permission.READ_CONTACTS, Manifest.permission.WRITE_CONTACTS,}; PermissionUtils.validate(this, 0, permissoes); <%uses-permission%> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_OWNER_DATA" /> <uses-permission android:name="android.permission.READ_OWNER_DATA" /> <uses-feature android:glEsVersion="0x00020000" android:required="True"/> <application android:persistent="%persistent%" android:restoreAnyVersion="%restoreAnyVersion%" android:label="%label%" android:debuggable="%debuggable%" android:largeHeap="%largeHeap%" android:icon="%icon%" android:theme="%theme%" android:hardwareAccelerated="%hardwareAccelerated%"> alguém sabe onde estou errando?
  2. Boa tarde pessoal, possuo algumas dúvidas... Estou iniciando o desenvolvimento de uma aplicação que conecta a um Webservice, com header authentication, a empresa responsável forneceu o endereço do WSDL, usuario e senha para acesso... Tentei efetuar isso via PHP, porém acredito que não seja viável... A questão é...alguém indicaria uma melhor linguagem WEB para consumir esse Webservice, ou se não for abusar muito, um material para estudo...apostilas, videos e etc? Precisaria dessa parte de estudo devido a aprender sobre o negócio, não quero "mastigado" hehe. Muito obrigado pela atenção de todos, bom dia.
  3. Bom dia pessoal, possuo algumas dúvidas... Estou iniciando o desenvolvimento de uma aplicação que conecta a um Webservice, com header authentication, a empresa responsável forneceu o endereço do WSDL, usuario e senha para acesso... Tentei efetuar isso via PHP, porém acredito que não seja viável... A questão é...alguém indicaria uma melhor linguagem WEB para consumir esse Webservice, ou se não for abusar muito, um material para estudo...apostilas, videos e etc? Precisaria dessa parte de estudo devido a aprender sobre o negócio, não quero "mastigado" hehe. Muito obrigado pela atenção de todos, bom dia.
  4. Omar~

    Manipular XML com php

    Blz?! Então, vou ser direto. Fiz esse arquivo xml aqui para servir de exemplo para a dúvida: O negócio é o seguinte: Como no exemplo tenho 2 entradas nesse arquivo, como eu faria para manipular elas, até mesmo criar novas ou apagar editando o arquivo? Porque enquanto a ler os dados sempre fiz, mas daí editar o arquivo estou curioso como proceder Só por mostrar mesmo assim é o exemplo de leitura: Obtenho o valor do índice vindo pelo $_GET o exibo os valores. A questão é que esses dados dificilmente serão editados no website, mas serão sim. E para evitar re-enviar o arquivo ou mesmo usar o banco para uma coisa que "raramente" será modificada, estou pensado em realizar isso. Re-escrever todo arquivo? Ou teria uma forma de manipular cada índice?
  5. Eu quero criar uma pagina simples com um formulário com os campos nome e telefone e os dados serem gravados em um arquivo. Pensei em usar json ou xml mas nao sei exatamente se essas linguagens são destinadas a isso. A minha intensão é criar uma lista telefônica e que o usuário possa criar, alterar e excluir os dados caso necessite. Pra mim seria facil usar php e mysql, mas no meu caso não posso usar um servidor. Fico grato a quem puder me dar uma sugestão.
  6. Rzorr

    Gerar XML com PHP

    Boa Tarde, Estou tentando gerar um XML com php, já consegui progresso, consegui gerar o XML certinho até o momento, acontece que nesse XML tenho várias tags <feature></feature> e o que e eu preciso fazer é se existir valor ele escreve essa tag, se não houver valor ele não escreve a tag no XML. abaixo os códigos. Eu estou buscando uma por uma e escrevendo uma por uma, mas a exigência da vivareal é que não havendo feature, não mostre a tag vazia. obrigado <?php require_once("conexao.php"); $pdo = conectar(); $busca_menu=$pdo->prepare(" SELECT * FROM item"); $busca_menu->execute(); $xml =new DOMDocument("1.0" , "utf-8"); $xml->formatOutput=true; $listdatafeed=$xml->createElement("ListingDataFeed"); $lis=$xml->createAttribute("xmlns"); $lis->value='http://www.vivareal.com/schemas/1.0/VRSync'; $liss=$xml->createAttribute("xmlns:xsi"); $listdatafeed->appendChild($lis); $liss->value= 'http://www.w3.org/2001/XMLSchema-instance'; $listdatafeed->appendChild($liss); $lisss=$xml->createAttribute("xsi:schemaLocation"); $lisss->value= 'http://www.vivareal.com/schemas/1.0/VRSync http://xml.vivareal.com/vrsync.xsd'; $listdatafeed->appendChild($lisss); $head=$xml->createElement("Header"); $provider=$xml->createElement("Provider","Gera XML"); $head->appendChild($provider); $mail=$xml->createElement("Email","contato@contato.com.br"); $head->appendChild($mail); $contato=$xml->createElement("ContactName","Teste TESTE"); $head->appendChild($contato); $publi=$xml->createElement("PublishDate","2009-08-10T11:17:14"); $head->appendChild($publi); $Logo=$xml->createElement("Logo","www.fornecedor.com.br/Logo.jpg"); $head->appendChild($Logo); $fone=$xml->createElement("Telephone","(47)00000000"); $head->appendChild($fone); $listdatafeed->appendChild($head); $listings=$xml->createElement("Listings"); while($linhas = @$busca_menu->fetch(PDO::FETCH_ASSOC)){ if ($linhas['item_finalidade'] == 1){ $transa = "For Sale"; }elseif($linhas['item_finalidade'] == 2){ $transa = "For Rent"; }elseif($linhas['item_finalidade'] == 3){ $transa = "Sale/Rent"; } if($linhas['item_tipo'] == 1){ $tipo = "Commercial / Industrial "; }else if($linhas['item_tipo'] == 2){ $tipo = "Residential / Land Lot"; }else if($linhas['item_tipo'] == 3){ $tipo = "Residential / Sobrado"; }else if($linhas['item_tipo'] == 4){ $tipo = "Commercial / Office"; }else if($linhas['item_tipo'] == 5){ $tipo = "Residential / Farm Ranch"; }else if($linhas['item_tipo'] == 6){ $tipo = "Commercial / Agricultural"; }else if($linhas['item_tipo'] == 7){ $tipo = "Commercial / Agricultural"; }else if($linhas['item_tipo'] == 8){ $tipo = "Residential / Apartment"; }else if($linhas['item_tipo'] == 9){ $tipo = " Residential / Home"; }else if($linhas['item_tipo'] == 10){ $tipo = "Commercial / Business"; }else if($linhas['item_tipo'] == 9){ $tipo = "Residential / Land Lot "; }else if($linhas['item_tipo'] == 11){ $tipo = "Residential / Land Lot "; }else if($linhas['item_tipo'] == 13){ $tipo = "Residential / Land Lot"; }else if($linhas['item_tipo'] == 15){ $tipo = "Commercial / Building"; }else if($linhas['item_tipo'] == 16){ $tipo = "Residential / Condo"; }else if($linhas['item_tipo'] == 17){ $tipo = "Residential / Flat"; }else if($linhas['item_tipo'] == 18){ $tipo = "Commercial / Loja"; }else if($linhas['item_tipo'] == 19){ $tipo = "Commercial / Industrial"; }else if($linhas['item_tipo'] == 20){ $tipo = "Commercial / Residential Income"; }else if($linhas['item_tipo'] == 21){ $tipo = "Commercial / Residential Income"; } $id = $linhas["item_id"]; $listing=$xml->createElement("Listing"); $listings->appendChild($listing); $item_id=$xml->createElement("ListingID", $linhas['item_id']); $title=$xml->createElement("Title"); $til=$xml->createCDATASection($linhas['item_busca']); $title->appendChild($til); $listing->appendChild($title); $listing->appendChild($item_id); $transaction=$xml->createElement("TransactionType", $transa); $listing->appendChild($transaction); $Featured=$xml->createElement("Featured", true); $listing->appendChild($Featured); $data=$xml->createElement("ListDate"); $listing->appendChild($data); $up=$xml->createElement("ListDate"); $listing->appendChild($up); $url=$xml->createElement("DetailViewUrl"); $listing->appendChild($url); $busca_foto=$pdo->prepare(" SELECT * FROM foto WHERE foto_item = '$id' "); $busca_foto->execute(); $media=$xml->createElement("Media"); $itemv=$xml->createElement("Item" , "teste"); $medi=$xml->createAttribute("medium"); $medi->value = 'video'; $itemv->appendChild($medi); $media->appendChild($itemv); while($linha = @$busca_foto->fetch(PDO::FETCH_ASSOC)){ $itemf=$xml->createElement("Item", 'http://www.imoveis.com.br/thumb/'. $linha['foto_url']); $med=$xml->createAttribute('medium'); $med->value = 'image'; $itemf->appendChild($med); $media->appendChild($itemf); } $listing->appendChild($media); // inicio detalhes $detalhe=$xml->createElement("Details"); $porperty=$xml->createElement("PropertyType", $tipo); $detalhe->appendChild($porperty); // descrição $limpo = strip_tags($linhas['item_desc']); $description=$xml->createElement("Description"); $des=$xml->createCDATASection($limpo); $description->appendChild($des); $detalhe->appendChild($description); //valor de venda $preco=$xml->createElement("ListPrice", $linhas['item_preco']); $price=$xml->createAttribute('currency'); $price->value = 'BRL'; $preco->appendChild($price); $detalhe->appendChild($preco); // valor de Aluguel $aluguel=$xml->createElement("RentalPrice", $linhas['item_preco_locacao']); $price=$xml->createAttribute('currency'); $price->value = 'BRL'; $aluguel->appendChild($price); $detalhe->appendChild($aluguel); //condominio $condominio=$xml->createElement("PropertyAdministrationFee", $linhas['item_preco_condominio']); $price=$xml->createAttribute('currency'); $price->value = 'BRL'; $condominio->appendChild($price); $detalhe->appendChild($condominio); // valor iptu $iptu=$xml->createElement("YearlyTax", $linhas['item_preco_iptu']); $price=$xml->createAttribute('currency'); $price->value = 'BRL'; $iptu->appendChild($price); $detalhe->appendChild($iptu); // area $area=$xml->createElement("LivingArea", $linhas['item_area']); $metros=$xml->createAttribute('unit'); $metros->value = 'squere meters'; $area->appendChild($metros); $detalhe->appendChild($area); // dormitórios $dorm=$xml->createElement("Bedrooms", $linhas['item_dorm']); $detalhe->appendChild($dorm); //banheiros $banheiro=$xml->createElement("Bathrooms", $linhas['item_wc']); $detalhe->appendChild($banheiro); // suites $suite=$xml->createElement("Suites", $linhas['item_suite']); $detalhe->appendChild($suite); //vagas $vaga=$xml->createElement("Garage", $linhas['item_suite']); $gar=$xml->createAttribute("Type"); $gar->value = "Parking Space"; $vaga->appendChild($gar); $detalhe->appendChild($vaga); // detalhes dos imóveis $fet=$xml->createElement("Feature"); $fete=$xml->createElement("Feature", strip_tags($linhas['item_piscina'])); $fet->appendChild($fete); $fete=$xml->createElement("Feature", strip_tags($linhas['item_aquecida'])); $fet->appendChild($fete); $fete=$xml->createElement("Feature", strip_tags($linhas['item_play'])); $fet->appendChild($fete); $fete=$xml->createElement("Feature", strip_tags($linhas['item_salao'])); $fet->appendChild($fete); $fete=$xml->createElement("Feature", strip_tags($linhas['item_portaria24'])); $fet->appendChild($fete); $fete=$xml->createElement("Feature", strip_tags($linhas['item_monitoramento'])); $fet->appendChild($fete); $fete=$xml->createElement("Feature", strip_tags($linhas['item_split'])); $fet->appendChild($fete); $fete=$xml->createElement("Feature", strip_tags($linhas['item_esporte'])); $fet->appendChild($fete); $fete=$xml->createElement("Feature", strip_tags($linhas['item_academia'])); $fet->appendChild($fete); $fete=$xml->createElement("Feature", strip_tags($linhas['item_cinema'])); $fet->appendChild($fete); $fete=$xml->createElement("Feature", strip_tags($linhas['item_churrasqueira'])); $fet->appendChild($fete); $fete=$xml->createElement("Feature", strip_tags($linhas['item_sauna'])); $fet->appendChild($fete); $fete=$xml->createElement("Feature", strip_tags($linhas['item_brinquedo'])); $fet->appendChild($fete); $fete=$xml->createElement("Feature", strip_tags($linhas['item_porcelanato'])); $fet->appendChild($fete); $detalhe->appendChild($fet); $listing->appendChild($detalhe); // fecha detalhes // abre localização $location=$xml->createElement("Location"); $loc=$xml->createAttribute("displayAddress"); $loc->value = "All"; $location->appendChild($loc); //abreviação país $pais=$xml->createElement("Contry", "Brasil"); $abre=$xml->createAttribute("abbreviation"); $abre->value = "BR"; $pais->appendChild($abre); $location->appendChild($pais); // estado $state=$xml->createElement("State", "Santa Catarina"); $abre=$xml->createAttribute("abbreviation"); $abre->value = "SC"; $state->appendChild($abre); $location->appendChild($state); //cidade $city=$xml->createElement("City", "Balneário Camboriú"); $location->appendChild($city); //bairro $neighborhood=$xml->createElement("Neighborhood", "Centro"); $location->appendChild($neighborhood); $listing->appendChild($location); //fecha localização //abre contato $contact=$xml->createElement("ContactInfo"); $nome=$xml->createElement("Name", "SC WEB IMÓVEIS"); $contact->appendChild($nome); $mailf=$xml->createElement("Email", "contato@contato.com.br"); $contact->appendChild($mailf); $site=$xml->createElement("Website", "www.scwebimoveis.com.br"); $contact->appendChild($site); $office=$xml->createElement("OfficeName", "SC WEB IMÓVEIS"); $contact->appendChild($office); $phone=$xml->createElement("Telephone", "(47)000000"); $contact->appendChild($phone); $listing->appendChild($contact); } $listdatafeed->appendChild($listings); $xml->appendChild($listdatafeed); echo "<xmp>".$xml->saveXML()."</xmp>"; $xml->save("vivareal.xml"); ?>
  7. Preciso de alterar o valor dos elementos no meu xml. So que o problema e que o código não esta alterando nenhum valor dentro da tag do meu xml. Meu xml esta assim e queria estar alterando os itens apos Rota <Planilha Rota="Nome da rota" Funcionario="" SaidaP="0" VoltaP="0" Deposito="R$ 0,00" Gasto="R$ 0,00" Cheque="R$ 0,00" Moeda="R$ 0,00" Falta="R$ 0,00" Sobra="R$ 0,00" Observacoes="" /> Código que estou trabalhando e esse public static void EditarPlanilhaLp(Listarplanilhas Rota, string nArchive) { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(@"cache\" + nArchive + ".xml"); XmlElement mapElement = (XmlElement)xmlDoc.SelectSingleNode(@"//Planilha[@Rota='" + Rota + "']"); if (mapElement != null) { mapElement.Attributes["Funcionario"].Value = Rota.LpGridFunc; mapElement.Attributes["SaidaP"].Value = Rota.LpGridSaiu; mapElement.Attributes["VoltaP"].Value = Rota.LpGridVolta; mapElement.Attributes["Deposito"].Value = Rota.LpGridDep; mapElement.Attributes["Gasto"].Value = Rota.LpGridGast; mapElement.Attributes["Cheque"].Value = Rota.LpGridCheq; mapElement.Attributes["Moeda"].Value = Rota.LpGridMoed; mapElement.Attributes["Falta"].Value = Rota.LpGridFalt; mapElement.Attributes["Sobra"].Value = Rota.LpGridSob; mapElement.Attributes["Observacoes"].Value = Rota.LpObs; } xmlDoc.Save(@"cache\" + nArchive + ".xml"); }
  8. Preciso de adicionar vários elementos em uma determinada tag do meu XML. Mas o código que estou utilizando ele adiciona os elementos sempre na ultima linha do meu Xml. Meu XML esta assim, e estou tentando adicionar vários elementos <planilha> na tag <Planilhas> <Xml> <Relatorio> <NotasAReceber /> <RotaValue /> <CtrlEstoque /> <Planilhas> </Planilhas> </Relatorio> </Xml> E o código que estou usando esta nesta forma private void CarregarRelatorio () { bool consulta = false; if (ComboBoxRota.Text != "") { XElement xml = XElement.Load(@"cache\" + DateProprie + ".xml"); foreach (XElement x in xml.Elements("planilha")) { if (ComboBoxRota.Text == x.Attribute("Rota").Value) { consulta = true; break; } } if (consulta == false) { XElement x = new XElement("planilha"); x.Add(new XAttribute("Rota", ComboBoxRota.Text)); x.Add(new XAttribute("Funcionario", TbFuncionario.Text.ToUpper())); TbFuncionario.Clear(); x.Add(new XAttribute("SaidaP", TbSaida.Text)); TbSaida.Clear(); x.Add(new XAttribute("VoltaP", TbVolta.Text)); TbVolta.Clear(); x.Add(new XAttribute("Deposito", TbDeposito.Text)); TbDeposito.Clear(); x.Add(new XAttribute("Gasto", TbGasto.Text)); TbGasto.Clear(); x.Add(new XAttribute("Cheque", TbCheque.Text)); TbCheque.Clear(); x.Add(new XAttribute("Moeda", TbMoeda.Text)); TbMoeda.Clear(); x.Add(new XAttribute("Falta", TbFalta.Text)); TbFalta.Clear(); x.Add(new XAttribute("Sobra", TbSobra.Text)); TbSobra.Clear(); x.Add(new XAttribute("Observacoes", TbObservacao.Text.ToUpper())); TbObservacao.Clear(); xml.Add(x); xml.Save(@"cache\" + DateProprie + ".xml"); } } }
  9. Mark Augusto

    PHP e RSS, duvida

    Olá pessoal estou com uma duvida referente a geração do arquivo XML. a minha duvida é sobre o <description></description> Dentro dele é só uma breve descrição, se sim, de ate quantas caracteres (se tiver essa regra) ou pode ser o corpo todo do site (article) ?
  10. Boa tarde a todos. Estou tentando pegar os elementos do response de um request Soap, porém, não consigo acessar um determinado elemento. Esse elemento me apresenta 2 complicadores. 1. Ele aparece no TCPDUMP do response, mas não importa o método que eu use, não consigo acessa-lo ou manipulá-lo. 2. Ele está duplicado. Response <?xml version="1.0" encoding="utf-8" ?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <ns1:getUserMSISDNResponse xmlns:ns1="http://www.csapi.org/schema/parlayx/sicoweb/v1_0/local"> <ns1:MSISDN>5599999999999</ns1:MSISDN> <ns1:IMEISV>000000000000000</ns1:IMEISV> <ns1:extendInfos> <name>userType</name> <value>0</value> </ns1:extendInfos> <ns1:extendInfos> <name>profile</name> <value>0</value> </ns1:extendInfos> </ns1:getUserMSISDNResponse> </soapenv:Body> </soapenv:Envelope> O MSISDN e o IMEISV eu consigo obter sem problemas, mas o que está dentro das duas "extendInfos" eu não consigo. Ja usei foreach, mas no maximo eu consigo um array com os MSISDN e o IMEISV. Alguém tem alguma idéia de como me ajudar? Obrigado.
  11. josePeixoto

    Retorno de tags em xml

    Olá, estou tendo dificuldades para pegar um campo. Pode ser bem fácil, mas não estou tendo a ideia. public String retornoTeste() throws DocumentException { Client c = Client.create(); WebResource wr = c.resource( "x"); return wr.get(String.class); } Considerando x p link para o meu WebService, ele me retorna o seguinte: <?xml version="1.0" encoding="utf-8"?> <int xmlns="x">-1</int> Como faço para pegar apenas esse -1? Obrigado desde já!
  12. Igor Abdo

    PHP exibindo dados XML

    Tenho o código PHP abaixo para mostrar os dados do XML mas não está funcionando! Por favor me ajudem. PHP: @header('Content-Type: text/html; charset=utf-8'); $xml = simplexml_load_file("arquive.xml"); foreach($xml->PESSOA as $item) { echo $item->NRPRIMEIRO; echo "<br>"; echo $item->NRSEGUNDO; } XML: SimpleXMLElement Object ( [PESSOA] => SimpleXMLElement Object ( [@attributes] => Array ( [NRPRIMEIRO] => 0001234567 [NRSEGUNDO] => 00012345678 ) ) )
  13. mruoppolo

    Leitura de XML com JS

    Olá, tudo bem? Estou com uma dúvida que é relativamente simples, porém eu nunca fiz este tipo de coisa então estou com dificuldade. Eu preciso ler um XML que é enviado para o meu script através de uma URL e os dados dele mudam a cada 2 minutos (em média), no caso eu pensei em fazer utilizando Ajax assim posso puxar o XML sem recarregar a página do usuário (a origem do XML é um subdominio do site que roda o script). Encontrei durante minhas pesquisas na internet uma solução: esta aqui funcionou legal, porém é para um XML simples o meu tem diversos "nodes" então não sei como adaptar. Este aqui é o XML que é mostrado no exemplo: <?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?> <valor> valor do xml </valor> O XML que eu preciso ler é este aqui: <?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?> <Pulsar> <OnAir> <song> <singer>GUSTTAVO LIMA</singer> <song>APELIDO CARINHOSO</song> </song> <OnAir> </Pulsar> O código JS que lê é este aqui: var http_request; var obj; var tpBrowser; if(window.XMLHttpRequest) { tpBrowser = 'ns'; http_request = new XMLHttpRequest(); if(http_request.overrideMimeType) http_request.overrideMimeType('text/xml'); } else if (window.ActiveXObject) { tpBrowser = 'ie'; try { http_request = new ActiveXObject("Msxm12.XMLHTTP");} catch (e) { try {http_request = new ActiveXObject("Microsoft.XMLHTTP");} catch (e) {} } } function obterRequisicao(pagina, elemento) { obj = document.getElementById(elemento); if(http_request==null) { alert('Não foi possivel instanciar XMLHTTPRequest'); return false; } http_request.onreadystatechange = mostrarConteudo; http_request.open('GET', pagina, true); http_request.send(null); } function mostrarConteudo() { if(http_request.readyState == 4) { var xmldoc = http_request.responseXML; var no = xmldoc.getElementsByTagName('pulsar').item(0); var valor = no.firstChild.data; if (tpBrowser=='ns') obj.textContent = valor; else if (tpBrowser=='ie') obj.innerText = valor; } else alert('falha ao fazer a requisição de dados'); } E printa no meu HTML <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script language="javascript" src="meuscript.js"></script> </head> <body> <span style="cursor: pointer; text-decoration: underline;" onclick="obterRequisicao('metro.xml','resultado');">Clique aqui para ler o arquivo xml</span> <br><br> Resultado: <div id="resultado"></div> </body> </html> Esta funcionando perfeito, só não consigo ler o meu porque ele tem diversos nodes, não sei bem como fazer. Você poderia me ajudar?? Valeu :D
  14. FabianoSouza

    ASP gerando XML

    Pessoal, preciso fazer uma integração com um portal de vagas de emprego. Para isso preciso fazer meu ASP gerar um XML nesse modelo http://services.seniormanager.com.br/integracao/output/jooble/xml/vagas.xml Aqui é como está ficando minha saída (não consigo evoluir) - http://services.seniormanager.com.br/integracao/output/jooble/xml/vagas-jooble.xml Não consigo atachar corretamente os nós: "link" "description" "apply_url" nem definir o CDATA para alguns deles . O ASP que gera o segundo link está mais ou menos assim. HELP!!
  15. Olá pessoal. O painel do meu site é o Plesk. Quero saber se, independentemente da linguagem de programação usada, é possível que a aplicação (rodando no domínio principal) crie arquivos XML em diretório localizado num subdomínio. E se o contrário também é possível. Valew.
  16. 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?
  17. 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.
  18. 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"?
  19. 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.
  20. 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
  21. 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?
  22. 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.
  23. 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.
  24. 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....
  25. 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
×

Important Information

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