Search the Community
Showing results for tags 'xml'.
Found 16 results
-
Fala galera. Espero que todos estejam bem. Seguinte: Tenho um arquivo xml onde alguns campos estão com : (dois pontos), como o exemplo abaixo: <item> <title> d sa dsad sad sadasdas </title> <link> dsadas dsa sad asd as dsada </link> <pubDate>sadasdasdsa as</pubDate> <dc:creator> d sad sad sa ad as das </dc:creator> </item> Meu código: $link = "noticias.xml"; $xml = simplexml_load_file($link); foreach($xml -> channel as $ite) { $titulo = $ite -> item->title; $urltitulo = $ite -> item->link; print $urltitulo = $ite -> item->dc:creator; } //fim do foreach ?> Esse campo dc:creator eu não consigo ler. Como faço? Agradeço quem puder me ajudar. Abs
-
Boa noite galera.. Estou tentando gerar um sitemap com php So que tenho que por o limit 1200 mais que isso ele nao gera e se deixar sem limit Obs: o banco de dados contem mais de 10 mil registros <?php // Data e hora atual $datetime = new DateTime(date('Y-m-d H:i:s')); // A linha abaixo me retornará uma data no seguinte formato: 2017-11-22T00:06:23-02:00 $date = $datetime->format(DateTime::ATOM); // ISO8601 // Gera o arquivo XML do sitemap $xml = '<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"> <url> <loc>'.ConfigPainel('site_url').'</loc> <lastmod>'.$date.'</lastmod> <changefreq>weekly</changefreq> <priority>1.00</priority> </url>'; $Query = DBRead('cidades','*',"WHERE status ='1' ORDER BY nome ASC"); if (is_array($Query)) { foreach ($Query as $modcid) { $xml .=' <url> <loc>'.ConfigPainel('site_url').''.$modcid['subdominio'].'/</loc> <lastmod>'.$date.'</lastmod> <changefreq>weekly</changefreq> <priority>1.00</priority> </url>'; //$QueryR = DBRead('directory_guia', '*',"WHERE cidade='{$modcid['id']}' AND status='1' ORDER BY titulo ASC"); $QueryR = DBRead('directory_guia', '*',"WHERE cidade='{$modcid['id']}' AND status='1' ORDER BY titulo ASC LIMIT 1200"); if (is_array($QueryR)) { foreach ($QueryR as $v) { $Queryc = DBRead('cidades', '*',"WHERE id='{$v['cidade']}' ORDER BY nome ASC")[0]; if(empty($v['slug'])) { }else{ $urlseo = ''.ConfigPainel('site_url').''.$Queryc['subdominio'].'/list/'.$v['slug'].'/'; $xml .=' <!-- INICIO DA EMPRESA '.TRIM($v['titulo']).' --> <url> <loc>'.$urlseo.'</loc> <lastmod>'.$date.'</lastmod> <changefreq>weekly</changefreq> <priority>0.85</priority> </url> <!-- FIM DA EMPRESA '.TRIM($v['titulo']).' --> '; } }} }} $xml .= ' </urlset>'; // Abre o arquivo ou tenta cria-lo se ele não exixtir $arquivo = fopen('../sitemap.xml', 'w'); if (fwrite($arquivo, $xml)) { Redireciona('./index.php?sucesso'); } else { Redireciona('?erro'); } fclose($arquivo); // Compactar arquivo sitemap para GZIP $data = implode("", file("sitemap.xml")); $gzdata = gzencode($data, 9); $fp = fopen("sitemap.xml.gz", "w"); fwrite($fp, $gzdata); fclose($fp); // Envia para o Google o novo sitemap gerado $urlSitemap = "http://www.google.com/webmasters/sitemaps/ping?sitemap=".ConfigPainel('site_url').""; // Arquivos a serem enviados $Files = ['sitemap.xml', 'sitemap.xml.gz']; // Envia os dois arquivos sitemap gerados para a URL do Google foreach ($Files as $file) { $url = $urlSitemap . $file; $ch = curl_init($url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_exec($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); } ?> Caso ouve outra forma que eu possa gerar este sitemap com php fico grato...
-
Estou precisando fazer o envio de um XML via webservice. Estou utilizando PHP 7.4 e nuSoap. Porém esse XML de envio possui várias tags com hífen. Por exemplo <tag-name></tag-name>. Esse hífen tem sido um problema, principalmente por que eu não posso enviar o XML como string. Apenas como objeto. Então imaginem isso: $objeto = simplexml_load_string($string_xml); Se simplesmente eu tentar resgatar o valor da TAG já dá erro... $campo1= $objeto->tag-name; O erro ocorre em função de que o hífen é um caractere reservado do PHP... Então como resolver? Independente disso, quando eu tento fazer o envio via nuSoap, também recebo erro abaixo:wsdl->getTypeDef('tag-name', 'http://xyz.abr...')wsdl->serializeType('tag-name', 'tag-name', Object(SimpleXMLElement), 'Alguém já passou por isso? Sabe como resolver? Pode dar uma dica?
-
Gostaria de saber como eu consigo recuperar dados do xml da seguinte forma. Tenho esse meu codigo php foreach($xml -> cadastros->exame as $item_3){ $codigo = $item_3['codigo']; } Que recuperar os exames desse xml: <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?> <resultados versao="20101018" origem="aol" datahora="2021-07-22 08:25:45"> <cadastros> <pacientes> <paciente codigo="250058718" codigo_lis="" codigo_aol="250058718" datanasc="" nome=" " sexo="M"/> </pacientes> <materiais> <material codigo="856" descricao="plasma citratado"/> <material codigo="879" descricao="sangue total EDTA"/> <material codigo="543" descricao="soro"/> </materiais> <exame codigo="TSH" descricao="TSH - HORMÔNIO TIREOESTIMULANTE - Ultrassensivel" dataalteracao="21/11/2019 17:37:15"> <linhasresultado> <linha codigo="1240" descricao="TSH - HORMÔNIO TIREOESTIMULANTE Ultrasensivel" unidade="µUI/mL"/> </linhasresultado> <valorreferencia><![CDATA[0 a 3 dias: 1,100 a 15,700 µUI/mL 3 dias a 2 meses e 14 dias: 0,600 a 9,200 µUI/mL 2meses 14dias a 1ano 3meses:0,400 a 6,000 µUI/mL 1 ano e 3 meses a 6 anos: 0,400 a 5,200 µUI/mL 6 a 15 anos: 0,300 a 4,200 µUI/mL 15 a 60 anos: 0,400 a 4,300 µUI/mL 60 a 80 anos: 0,400 a 5,800 µUI/mL Superior a 80 anos: 0,400 a 6,700 µUI/mL Gestantes: Primeiro Trimestre: 0,100 a 3,600 µUI/mL Segundo Trimestre: 0,400 a 4,300 µUI/mL Terceiro Trimestre: 0,400 a 4,300 µUI/mL ]]></valorreferencia> </exame> <exame codigo="LIPAS" descricao="LIPASE" dataalteracao="28/03/2019 09:23:47"> <linhasresultado> <linha codigo="883" descricao="LIPASE" unidade="U/L"/> </linhasresultado> <valorreferencia><![CDATA[Inferior a 60,0 U/L]]></valorreferencia> </exame> <exame codigo="T4L" descricao="T4 - TIROXINA LIVRE" dataalteracao="16/04/2019 14:43:34"> <linhasresultado> <linha codigo="1174" descricao="T4 - TIROXINA LIVRE" unidade="ng/dL"/> </linhasresultado> <valorreferencia><![CDATA[0,70 a 1,80 ng/dL]]></valorreferencia> </exame> <exame codigo="AMILA" descricao="AMILASE TOTAL" dataalteracao="16/04/2019 12:02:51"> <linhasresultado> <linha codigo="83" descricao="AMILASE TOTAL" unidade="U/L"/> </linhasresultado> <valorreferencia><![CDATA[Até 115,0 U/L]]></valorreferencia> </exame> <exame codigo="FA" descricao="FOSFATASE ALCALINA" dataalteracao="15/04/2019 11:51:01"> <linhasresultado> <linha codigo="542" descricao="FOSFATASE ALCALINA" unidade="U/L"/> </linhasresultado> <valorreferencia><![CDATA[0 a 14 dias: 82 a 249 U/L 15 dias a 1 ano: 122 a 473 U/L Sexo Feminino: Feminino 1 a 9 anos: 149 a 301 U/L Feminino 10 a 12 anos: 127 a 326 U/L Feminino 13 a 14 anos: 62 a 212 U/L Feminino 15 a 16 anos: 52 a 120 U/L Feminino 17 a 18 anos: 45 a 97 U/L Adultos: 25 a 100 U/L Sexo Masculino: Masculino 1 a 9 anos: 149 a 301 U/L Masculino 10 a 12 anos: 127 a 326 U/L Masculino 13 a 14 anos: 129 a 437 U/L Masculino 15 a 16 anos: 78 a 268 U/L Masculino 17 a 18 anos: 40 a 129 U/L Adultos: 25 a 100 U/L Referência: Fontes R, Cavalari E, Vieira Neto L, et al. Alkaline phosphatase: reference interval transference from CALIPER to a pediatric Brazilian population. J Bras Patol Med Lab. 2018; 54(4): 227-31.]]></valorreferencia> </exame> <exame codigo="HBGLI3" descricao="HEMOGLOBINA GLICADA" dataalteracao="28/06/2021 09:26:18"> <linhasresultado> <linha codigo="12976" descricao="Hb SA1c - Forma estável" unidade="%"/> <linha codigo="16572" descricao="Glicose Média Estimada (GME)" unidade="mg/dL"/> </linhasresultado> <valorreferencia><![CDATA[ Hemoglobina Glicada - Hb SA1c Normal: Inferior a 5.7% Risco aumentado para Diabetes Mellitus: 5,7 a 6,4% Diabete Mellitus: Igual ou superior a 6,5% Para o diagnóstico de Diabetes Mellitus a dosagem de HbA1c deve ser confirmada com novo exame em dia diferente,exceto se houver hiperglicemia inequívo- ca com descompensação metabólica aguda ou sintomas clássicos da doença. A Associação Americana de Diabetes recomenda como meta para o tratamento de pacientes diabéticos re- sultados de HbA1c iguais ou inferiores a 7%. Conforme recomendado pela American Diabetes Asso- ciation(ADA) e European Association for the Study of Diabetes (EASD), estamos liberando cálculo da glicose média estimada(GME). Este cálculo é obtido a partir do valor de HbA1c através de uma fórmula matemática baseada em uma relação linear entre os níveis de HbA1c e a glicose média sanguínea. Ref. Diabetes Care, 2014; 37 (suppl 1): 81-90/Diretri- zes da Sociedade Brasileira de Diabestes/2013-2014 :9-11.]]></valorreferencia> </exame> <exame codigo="COAG4" descricao="COAGULOGRAMA IV" dataalteracao="06/09/2019 14:27:19"> <linhasresultado> <linha codigo="14811" descricao="PLAQUETAS - Contagem" unidade="/uL"/> </linhasresultado> <valorreferencia><![CDATA[Atividade de Protrombina: 70 a 100% RNI: 0,80 a 1,20 Ratio: Inferior a 1,25 Plaquetas: 150.000 a 450.000/uL RNI - Intervalo de Refêrencias(Alvos Terapeuticos) Recomendações do American College of Physicians, National Heart Lung and Blood Institute for Haematology.]]></valorreferencia> </exame> </cadastros> <solicitacao codigo="238228701" codigo_aol="238228701" paciente="250058718"> <amostras> <amostra codigo="0" descricao="Basal" material="856"/> <amostra codigo="1" descricao="Basal" material="879"/> <amostra codigo="2" descricao="Basal" material="543"/> </amostras> <exame codigo="FA" dataresultado="20/07/2021 04:27:20" metodo="Colorimétrico" observacao="" normal="S"> <resultado amostra="2" linharesultado="542" resultado="51,0"/> </exame> <exame codigo="HBGLI3" dataresultado="20/07/2021 05:48:28" metodo="Imunoensaio Turbidimétrico de Inibição " observacao="" normal="S"> <resultado amostra="1" linharesultado="12976" resultado="5,1"/> <resultado amostra="1" linharesultado="16572" resultado="100"/> </exame> <exame codigo="TSH" dataresultado="20/07/2021 04:27:20" metodo="Eletroquimioluminescência" observacao="Considerar a metodologia Quimioluminescência para a análise deste teste." normal="S"> <resultado amostra="2" linharesultado="1240" resultado="2,000"/> </exame> <exame codigo="AMILA" dataresultado="20/07/2021 04:27:20" metodo="Colorimétrico Enzimático" observacao="Considerar a metodologia Quimioluminescência para a análise deste teste." normal="S"> <resultado amostra="2" linharesultado="83" resultado="83,0"/> </exame> <exame codigo="COAG4" dataresultado="21/07/2021 13:29:20" metodo="Coagulométrico/Sistema Automatizado" observacao="" normal="S"> <resultado amostra="0" linharesultado="14811" resultado="305000"/> </exame> <exame codigo="LIPAS" dataresultado="20/07/2021 04:27:20" metodo="Colorimétrico Enzimático" observacao="" normal="S"> <resultado amostra="2" linharesultado="883" resultado="47,0"/> </exame> <exame codigo="T4L" dataresultado="20/07/2021 04:27:20" metodo="Eletroquimioluminescência" observacao="Considerar a metodologia Quimioluminescência para a análise deste teste." normal="S"> <resultado amostra="2" linharesultado="1174" resultado="1,16"/> </exame> </solicitacao> </resultados> Até ai consegui e conseguir mostrar o valor de codigo="codigo do exame". Porém preciso fazer uma segunda consulta da parte : <solicitacao codigo="238228701" codigo_aol="238228701" paciente="250058718"> <amostras> <amostra codigo="0" descricao="Basal" material="856"/> <amostra codigo="1" descricao="Basal" material="879"/> <amostra codigo="2" descricao="Basal" material="543"/> </amostras> <exame codigo="FA" dataresultado="20/07/2021 04:27:20" metodo="Colorimétrico" observacao="" normal="S"> <resultado amostra="2" linharesultado="542" resultado="51,0"/> </exame> <exame codigo="HBGLI3" dataresultado="20/07/2021 05:48:28" metodo="Imunoensaio Turbidimétrico de Inibição " observacao="" normal="S"> <resultado amostra="1" linharesultado="12976" resultado="5,1"/> <resultado amostra="1" linharesultado="16572" resultado="100"/> </exame> <exame codigo="TSH" dataresultado="20/07/2021 04:27:20" metodo="Eletroquimioluminescência" observacao="Considerar a metodologia Quimioluminescência para a análise deste teste." normal="S"> <resultado amostra="2" linharesultado="1240" resultado="2,000"/> </exame> <exame codigo="AMILA" dataresultado="20/07/2021 04:27:20" metodo="Colorimétrico Enzimático" observacao="Considerar a metodologia Quimioluminescência para a análise deste teste." normal="S"> <resultado amostra="2" linharesultado="83" resultado="83,0"/> </exame> <exame codigo="COAG4" dataresultado="21/07/2021 13:29:20" metodo="Coagulométrico/Sistema Automatizado" observacao="" normal="S"> <resultado amostra="0" linharesultado="14811" resultado="305000"/> </exame> <exame codigo="LIPAS" dataresultado="20/07/2021 04:27:20" metodo="Colorimétrico Enzimático" observacao="" normal="S"> <resultado amostra="2" linharesultado="883" resultado="47,0"/> </exame> <exame codigo="T4L" dataresultado="20/07/2021 04:27:20" metodo="Eletroquimioluminescência" observacao="Considerar a metodologia Quimioluminescência para a análise deste teste." normal="S"> <resultado amostra="2" linharesultado="1174" resultado="1,16"/> </exame> </solicitacao> Onde eu consiga pegar o codigo que recuperei acima e liste os resultados da parte de solicitacao referente ao codigo="codigo do exame que eu listei a cima" mas nao to conseguindo fazer. Como eu posso fazer isso?
-
Fala pessoal. Estou importando um arquivo xml para o meu DB porém, não consigo ler o campo data do xml. Todos os campos são lidos, menos o campo data. No xml ele está nesse formato: 09/06/2021 23:59:00 Abaixo segue o código que estou usando: $xml = simplexml_load_file('cupons.xml'); foreach($xml->coupon as $cupom) { echo $cupom->code.'<br>'; echo $cupom->data.'<br>'; } Obrigado!
-
Pequei esse código, porém não funciona por nada pela minha capacidade que não é muita em PHP, já mudei ele de todas as formas possível e não funciona. <?php if(!empty($_FILES['xml']['tmp_name'])){ $arquivo = new DomDocument(); $arquivo->load($_FILES['xml']['tmp_name']); //var_dump($arquivo); $linhas = $arquivo->getElementsByTagName("processo"); //var_dump($linhas); $primeira_linha = true; foreach($linhas as $linha){ if($primeira_linha == false){ // pegar o valor natureza="Produtos e/ou Serviço" no elemento <marca> $nome = $linha->getElementsByTagName("nome")->item(0)->nodeValue; echo "Nome: $nome <br>"; $email = $linha->getElementsByTagName("status")->item(1)->nodeValue; echo "Status: $email <br>"; echo "<hr>"; } $primeira_linha = false; } } ?> O arquivo em XML é beemmm longo <?xml version="1.0" encoding="UTF-8" ?> <revista numero="2620" data="23/03/2021"> <processo numero="922151156" data-deposit <despachos> <despacho codigo="IPAS009" nome="Publ </despachos> <titulares> <titular nome-razao-social="HERIK DE </titulares> <marca apresentacao="Mista" natureza="P <nome>SOTEN</nome> </marca> <classes-vienna> <classe-vienna codigo="27.5.1" edicao <classe-vienna codigo="28.3" edicao=" <classe-vienna codigo="26.2.7" edicao <classe-vienna codigo="29.1.15" edica </classes-vienna> <lista-classe-nice> <classe-nice codigo="41"> <especificacao>Agente artístico; li <status>Pendente</status> </classe-nice></lista-classe-nice> <procurador>TENAX SERVIÇOS DE CONSULTOR </processo> <processo numero="920178898"> <despachos> <despacho codigo="IPAS029" nome="Defe </despachos> <titulares> <titular nome-razao-social="DEIVISSON </titulares> <lista-classe-nice> <classe-nice codigo="25"> <especificacao>Bandanas;Bermudas;Bo <status>Deferida</status> </classe-nice> </lista-classe-nice> </processo> Os valores que estou tentando pegar são <nome> <status>. Mas também queria tentar pegar os valores nome-razao-social="..." e natureza. Penso que pode ter algo a ver com o tamanho do arquivo que é um pouco maior do que o habitual, girando em torno de 30 MB e no total vão ter que tirar as informações 22 109 que é o número de vezes que esse modelo de exemplo se repete no documento Mas como disse não sei muito sobre PHP é uma suposição)...
-
Boa tarde pessoal, Tenho uma API para enviad dados via XML, eu salvo esse xml em um arquivo físico, os dados no arquivo físico me retornam 2 registros com todas as TAGs certinho, porém, quando eu pego a url e mando no browser, esses registros duplicam, alguém sabe o porque disso ? Estou utilizando laravel e a biblioteca DomDocument do PHP. O código esse abaixo: <code> <?php namespace App\Http\Controllers\API\V1\Integracao; use Illuminate\Http\Request; use Illuminate\Http\Response; use Illuminate\Support\Facades\Validator; use Illuminate\Validation\ValidationException; use App\Services\ToArray; use App\Exceptions\ApiException; use App\Http\Controllers\AppBaseController; use Illuminate\Support\Str; use App\Model\MySql\Site\IntegracaoModel as Integracao; use App\Model\MySql\Site\AuxFotosModel; use DOMDocument; /** * * Classe criada para retornar informações dos imóveis do site da Sodré * e integrar com o Zap e Viva Real * */ class IntegracaoController extends AppBaseController { private $infos; private $integracao; private $urlImagem = "https://fotos.sodresantoro.com.br/fotos.imoveis/"; public function __construct(Integracao $integracao) { $this->integracao = $integracao; } public function index() { $dadosImoveis = $this->integracao->imoveis(); #versao do encoding xml $dom = new DOMDocument("1.0", "UTF-8"); #retirar os espacos em branco $dom->preserveWhiteSpace = false; #gerar o codigo $dom->formatOutput = true; #criando o nó principal (root) $root = $dom->createElement("ListingDataFeed"); $domAttrXMLNS = $dom->createAttribute("xmlns"); $domAttrXMLNS->value = 'http://www.vivareal.com/schemas/1.0/VRSync'; $domAttrXMLNSXSI = $dom->createAttribute("xmlns:xsi"); $domAttrXMLNSXSI->value = "http://www.w3.org/2001/XMLSchema-instance"; $domSchemaLocation = $dom->createAttribute("xsi:schemaLocation"); $domSchemaLocation->value = "http://www.vivareal.com/schemas/1.0/VRSync"; #nó filho $listings = $dom->createElement("Listings"); foreach ($dadosImoveis as $imoveis) { $listing = $dom->createElement("Listing"); $details = $dom->createElement("Details"); $media = $dom->createElement("Media"); foreach ($imoveis->imagens as $key => $imagem) { $this->infos['imagem'] = $this->urlImagem . $imagem->nome; $item = $dom->createElement("Item", $this->infos['imagem']); #adiciona atributos nos elementos $domAttrImage = $dom->createAttribute("medium"); $domAttrImage->value = "image"; $domAttrCap = $dom->createAttribute("caption"); $domAttrCap->value = "img" . $key++; $domAttrPrimary = $dom->createAttribute("primary"); $domAttrPrimary->value = "true"; $item->appendChild($domAttrCap); $item->appendChild($domAttrImage); $media->appendChild($item); } $this->infos['lance_inicial'] = $imoveis->vl_lanceinicial; $this->infos['title'] = $imoveis->title; $this->infos['descricao'] = $imoveis->descricao; $this->infos['lote_id'] = $imoveis->lote_id; $this->infos['endereco'] = $imoveis->Endereco; $this->infos['imagem'] = ''; //Faço o explode para poder fazer o envio(API não aceita casas decimais) //Para consultar: https://developers.grupozap.com/feeds/vrsync/elements/details/#list-price $preco = explode('.', $this->infos['lance_inicial']); $listPrice = $dom->createElement("ListPrice", $preco[0]); $description = $dom->createElement("Description", htmlspecialchars(str_limit($this->infos['descricao'], 2000))); $title = $dom->createElement("Title", $this->infos['title']); $listingID = $dom->createElement("ListingID", $this->infos['lote_id']); $transactionType = $dom->createElement("TransactionType", "For Sale"); $usageType = $dom->createElement("UsageType", "Residential"); $propertyType = $dom->createElement("PropertyType", "Residential / Apartment"); #adiciona os nós $details->appendChild($usageType); $details->appendChild($propertyType); $details->appendChild($description); $details->appendChild($listPrice); $listing->appendChild($title); $listing->appendChild($listingID); $listing->appendChild($transactionType); $listing->appendChild($details); $listing->appendChild($media); $listings->appendChild($listing); } $root->appendChild($listings); $root->appendChild($domAttrXMLNS); $root->appendChild($domAttrXMLNSXSI); $root->appendChild($domSchemaLocation); $dom->appendChild($root); # Para salvar o arquivo, descomente a linha $dom->save("listagem-imoveis.xml"); #cabeçalho da página #header("Content-Type: text/xml"); # imprime o xml na tela print $dom->saveXML(); return response($dom->saveXML()); } public function download() { return response()->file(public_path('listagem-imoveis.xml', 'Imóveis')); } } </code>
-
Inserir Feed de Notícias de site parceiro através de Arquivo .xml
wagner9 posted a topic in HTML e CSS
Olá companheiros, Preciso de ajuda para conseguir implementar um Feed de Notícias de um site parceiro em meu site. O pessoal do site parceiro me enviou os arquivos .xml, mas não consegui descobrir como implementar eles no meu site. Se alguem puder me ajudar, fico grato. -
Estou com um pequeno problema nessa parte: $monsters = simplexml_load_file($otdir . '/data/monster/monsters.xml') or die('<b>Could not load monsters!</b>'); foreach($monsters->monster as $monster) { $loot = simplexml_load_file($otdir . '/data/monster/' . $monster['file']); if($loot) { if($item = $loot->loot->item){ A pagina mostra a lista de items corretamente mas se eu tenho um item dentro de outro item ,como nesse exemplo: <loot> <item id="2148" countmax="100" chance="33750" /> <item id="2148" countmax="100" chance="33750" /> <item id="2672" countmax="5" chance="80000" /> <item id="7399" chance="80" /> <item id="2392" chance="1428" /> <item id="2033" chance="3190" /> <item id="2547" countmax="7" chance="6700" /> <item id="5948" chance="3040" /> <item id="1987" chance="100000"> <!-- bag --> O PROBLEMA É NESSA PARTE <item id="5882" chance="5920" /> <item id="2498" chance="888" /> <item id="7378" countmax="3" chance="8800" /> <item id="2146" chance="5300" /> <item id="2414" chance="1500"/> <item id="2528" chance="2333" /> <item id="7402" chance="2000" /> <item id="2492" chance="730" /> </item> </loot> Os items dentro do item com id 1987 não são mostrados . Me desculpem se a explicação não esta muito boa , não entendo nada de php e xml ,eu agradeço se alguem puder me ajudar.
-
Saudações mestres, Qual o comando utilizado para criar um arquivo em alguma pasta que eu selecionar onde eu possa ir escrevendo dentro as linhas do XML? Não quero algo pronto, preciso escrever linha a linha de acordo com o manual da Sefaz. Grato
-
Bom dia, Como faço para gerar um arquivo .doc (Microsoft Word) através de javascript com margens customizadas? Sei que para gerar o css corretamente tenho que gerar inline mas não consigo definir a margem de jeito algum. Poderiam me ajudar por gentileza?
-
Duvida em como buscar informações em Xml com Xpath usando javascript
ZeroEnd posted a topic in Javascript
Boa tarde. Nao tenho muito conhecimento em javascript mas estou aprendendo aos poucos. Minha dúvida é sobre Xpath, bom na verdade eu entendi de forma básica como fazer uma busca usando Xpath, tanto é que para isso eu estava usando o programa Xpath Visualizer para entender. Mas eu não achei como empregar isso em uma página html, usando as mesmas variáveis que uso no programa para ter o mesmo resultado. Gostaria de saber se em algum lugar a informações de forma simples ou algo para tomar uma direção.-
- xpath
- javascript
-
(and 1 more)
Tagged with:
-
Olá pessoal blz?. Estou com problemas para ler um xml, estou pegando ele com simplexml_load_file(), quando eu dou um vardump ele me mostra todas as propriedades e tals, mas quando eu tento pegar a propriedade(exemplo $xml->emit) ele me retorna null, abaixo está o código. $arquivo = $_FILES['xml_conta']; $xml = simplexml_load_file($arquivo['tmp_name']); var_dump($xml->ide); Já tentei pegar o arquivo direto do diretório mas da no mesmo. Abaixo o meu var_dump(). object(SimpleXMLElement)#2 (3) { ["@attributes"]=> array(1) { ["versao"]=> string(4) "4.00" } ["NFe"]=> object(SimpleXMLElement)#4 (2) { ["infNFe"]=> object(SimpleXMLElement)#6 (9) { ["@attributes"]=> array(2) { ["versao"]=> string(4) "4.00" ["Id"]=> string(47) "NFe51191203927792000132550010003900572477841258" } ["ide"]=> object(SimpleXMLElement)#8 (22) { ["cUF"]=> string(2) "51" ["cNF"]=> string(8) "47825479" ["natOp"]=> string(33) "Venda Terceiros" ["mod"]=> string(2) "50" ["serie"]=> string(1) "1" ["nNF"]=> string(6) "397894" ["dhEmi"]=> string(25) "2019-12-05T18:35:33-04:00" ["dhSaiEnt"]=> string(25) "2019-12-05T18:35:33-04:00" ["tpNF"]=> string(1) "1" ["idDest"]=> string(1) "1" ["cMunFG"]=> string(7) "51074" ["tpImp"]=> string(1) "3" ["tpEmis"]=> string(1) "2" ["cDV"]=> string(1) "5" ["tpAmb"]=> string(1) "2" ["finNFe"]=> string(1) "2" ["indFinal"]=> string(1) "1" ["indPres"]=> string(1) "1" ["procEmi"]=> string(1) "0" ["verProc"]=> string(7) "3.5.1.2" ["dhCont"]=> string(25) "2019-12-05T15:32:22-04:00" ["xJust"]=> string(23) "sem conexao com o sefaz" }
-
array É possível fazer uma conversão de uma String com conteúdo Xml para um Array em PHP?
carlos.moura posted a topic in PHP
Boa tarde! Estou recebendo esta string em um response de uma requisição feita em um WebService SOAP e não estou conseguindo desmembrar as informações obtidas. Como faço para pegar as informações que estão dentro das tags xml contidas na String? Já tentei converter em array, JSon, Xml. Porém sem sucesso. Segue o response: string(19252) " <?xml version="1.0"?><retorno><pessoa nr_cpfcnpj="12345678910" cd_pessoa="000000" tp_pessoa="F" nm_pessoa="USUARIO DE TESTE" ds_homepage=""><pesFisica tp_estcivil="1" tp_sexo="M" cd_seriectps="" ds_orgexpedidor="SSPPR" nr_ctps="" nr_cpf="12345678910" nr_rg="111111111" vl_rendamensal="" ds_cargo="" dt_admissao="" dt_nascimento="23/08/1984" ds_localtrab="" ds_localnasc="" ds_nacionalidade="" nm_mae="" nm_pai=""/><pfAdic tp_escolaridade="" qt_filhos="" qt_dependentes="" qt_resantmeses="" qt_traantmeses="" ds_traantlocal="" dt_residedesde="" tp_casa="" tp_carro=""/><endereco nr_sequencia="194" cd_tipoendereco="2" cd_municipio="59749" cd_cep="83030150" nm_logradouro="TESTE" nr_caixapostal="" nr_logradouro="87" ds_referencia="" ds_complemento="NULL" ds_bairro="TESTE" ds_siglalograd="R"><municipio cd_municipio="59749" nm_municipio="TESTE" cd_estado="17"><estado ds_sigla="PR" nm_estado="PARANA"/></municipio></endereco><telefone nr_sequencia="2" cd_tipofone="3" nr_telefone="41 999999999" in_padrao="T" nr_ramal=""><tipoFone cd_tipofone="3" ds_tipofone="CELULAR"/></telefone><email nr_sequencia="2" cd_tipoemail="5" ds_email="teste@teste.com.br" in_padrao=""><tipoEmail cd_tipoemail="5" ds_tipoemail="EMAIL"/><tipoEmail cd_tipoemail="5" ds_tipoemail="EMAIL"/></email><email nr_sequencia="193" cd_tipoemail="3" ds_email="teste@yahoo.com.br" in_padrao="T"><tipoEmail cd_tipoemail="3" ds_tipoemail="NFE"/><tipoEmail cd_tipoemail="3" ds_tipoemail="NFE"/></email><obsPessoa nr_linha="1" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="2" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="3" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="4" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="5" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="6" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="7" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="8" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="9" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="10" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="11" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="12" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="13" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="14" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="15" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="16" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="17" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="18" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="19" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="20" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="21" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="22" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="23" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="24" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="25" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="26" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="27" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="28" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="29" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="30" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="31" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="32" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="33" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="34" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="35" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="36" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="37" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="38" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="39" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="40" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="41" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="42" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="43" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="44" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="45" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="46" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="47" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="48" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="49" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="50" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="51" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="52" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="53" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="54" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="55" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="56" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="57" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="58" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="59" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="60" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="61" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="62" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="63" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="64" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="65" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="66" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="67" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="68" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="69" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="70" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="71" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="72" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="73" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="74" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="75" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="76" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="77" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="78" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="79" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="80" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="81" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="82" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="83" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="84" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="85" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="86" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="87" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="88" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="89" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="90" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="91" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="92" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="93" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="94" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="95" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="96" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="97" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="98" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="99" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="100" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="101" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="102" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="103" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="104" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="105" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="106" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="107" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="108" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="109" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="110" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="111" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="112" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="113" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="114" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="115" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="116" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="117" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="118" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="119" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="120" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="121" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="122" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="123" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="124" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="125" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="126" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="127" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="128" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="129" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="130" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="131" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="132" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="133" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="134" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="135" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="136" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="137" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="138" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="139" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="140" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="141" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="142" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="143" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="144" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="145" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="146" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="147" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="148" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="149" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="150" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="151" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="152" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="153" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="154" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="155" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="156" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="157" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="158" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="159" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="160" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="161" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="162" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="163" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="164" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="165" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="166" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="167" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="168" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="169" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="170" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="171" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="172" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="173" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="174" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="175" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="176" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="177" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="178" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="179" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="180" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="181" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="182" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="183" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="184" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="185" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="186" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="187" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="188" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="189" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="190" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="191" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="192" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><obsPessoa nr_linha="193" ds_observacao="Cliente Fidelidade - Cadasrado via WS"/><pessoaCliente cd_cliente="82032" tp_formapgto="9" nr_suframa="" nr_codigofiscal="" in_bloqueado="F" in_cnsrfinal="" in_inativo="F" dt_cadastro="2019-08-02 16:51:31"/><pessoaLimite cd_empresa="2" cd_cliente="82032" vl_fatorlimite="480" cd_grupoempresa="2"/><vPesConsulta in_guia="F" in_inativogui="F" in_bloqueadogui="F" in_loja="F" in_inativoloj="F" in_bloqueadoloj="F"/></pessoa></retorno> " -
Tenho um código que faz a leitura de varios xml (fiscal), e grava o que encontrou em um banco de dados. Como posso ler este arquivo, e salvar quando tem mais de 1 produto no xml? No momento ele salva apenas o primeiro item de cada arquivo xml. foreach(glob('xml/*/*/*/{*.xml,*.XML}', GLOB_BRACE) as $xmlFile){ $xml = simplexml_load_file($xmlFile); $chNFe= $xml->protNFe->infProt->chNFe; $dhEmi= $xml->NFe->infNFe->ide->dhEmi; $natOp= $xml->NFe->infNFe->ide->natOp; $CNPJ= $xml->NFe->infNFe->emit->CNPJ; $xNomeemit= $xml->NFe->infNFe->emit->xNome; $xBairroemit= $xml->NFe->infNFe->emit->enderEmit->xBairro; $xMunemit= $xml->NFe->infNFe->emit->enderEmit->xMun; $UFemit= $xml->NFe->infNFe->emit->enderEmit->UF; $foneemit= $xml->NFe->infNFe->emit->enderEmit->fone; $cPaisemit= $xml->NFe->infNFe->emit->enderEmit->cPais; $CPFdest= $xml->NFe->infNFe->dest->CPF; $CNPJdest= $xml->NFe->infNFe->dest->CNPJ; $xNome= $xml->NFe->infNFe->dest->xNome; $xLgr= str_replace("'","",$xml->NFe->infNFe->dest->enderDest->xLgr); $nro= $xml->NFe->infNFe->dest->enderDest->nro; $xBairro= $xml->NFe->infNFe->dest->enderDest->xBairro; $xMun= $xml->NFe->infNFe->dest->enderDest->xMun; $UF= $xml->NFe->infNFe->dest->enderDest->UF; $CEP= $xml->NFe->infNFe->dest->enderDest->CEP; $cPais= $xml->NFe->infNFe->dest->enderDest->cPais; $email= $xml->NFe->infNFe->dest->email; $xProd= $xml->NFe->infNFe->det->prod->xProd; $NCM= $xml->NFe->infNFe->det->prod->NCM; $CFOP= $xml->NFe->infNFe->det->prod->CFOP; $uCom= $xml->NFe->infNFe->det->prod->uCom; $qCom= $xml->NFe->infNFe->det->prod->qCom; $vProd= $xml->NFe->infNFe->det->prod->vProd; $vUnTrib= $xml->NFe->infNFe->det->prod->vUnTrib; $checkn = "SELECT * FROM xml WHERE chNFe = '$chNFe'"; $sqlcheckn = mysqli_query($conn, $checkn); $rowsn = mysqli_num_rows($sqlcheckn); if ($rowsn == 0) { $sql="INSERT INTO xml ( chNFe, dhEmi, natOp, CNPJ, xNomeemit, xBairroemit, xMunemit, UFemit, foneemit, cPaisemit, CPFdest, CNPJdest, xNome, xLgr, nro, xBairro, xMun, UF, CEP, cPais, email, xProd, NCM, CFOP, uCom, qCom, vProd, vUnTrib ) VALUES( '$chNFe', '$dhEmi', '$natOp', '$CNPJ', '$xNomeemit', '$xBairroemit', '$xMunemit', '$UFemit', '$foneemit', '$cPaisemit', '$CPFdest', '$CNPJdest', '$xNome', '$xLgr', '$nro', '$xBairro', '$xMun', '$UF', '$CEP', '$cPais', '$email', '$xProd', '$NCM', '$CFOP', '$uCom', '$qCom', '$vProd', '$vUnTrib' )"; $res = mysqli_query($conn, $sql) or die("<b>Erro (0):</b><br> $sql <br> <b>Mensagem tecnica:</b> <br>" .mysqli_error()); if(mysqli_affected_rows() != -1){ $x++; } echo "<br>$x registros importados com sucesso!<br>"; } else { echo "<br>Jรก encontremos dados com estas notas!<br>"; } }
-
Conexão site prefeitura ISS com PHP + cURL + SOAP + XML + certificado digital
AnthraxisBR posted a question in Perguntas e respostas rápidas
A prefeitura oferece um ótimo suporte (sarcasmo) a webservice fornecida, e graças a isso estou perdido a muito tempo no que deveria ser um negócio muito simples. http://isscuritiba.curitiba.pr.gov.br/ Com o código abaixo eu faço login no webservice do ISS de curitiba, consigo enviar a requisição xml com sucesso e receber o retorno do webservice, porém, não consigo identificar no servidor/documentação quais são os campos obrigatórios pra trazer dados, e nem quais são os formatos dos campos, a minha resposta é que os dados enviados sempre estão inválidos. <?php $xml_data = '<?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ConsultarNfse xmlns="http://www.e-governeapps2.com.br/"> <ConsultarNfseEnvio> <Prestador> <Cnpj>string</Cnpj> <InscricaoMunicipal>string</InscricaoMunicipal> </Prestador> </ConsultarNfseEnvio> </ConsultarNfse> </soap:Body> </soap:Envelope>'; $url = "https://pilotoisscuritiba.curitiba.pr.gov.br/nfse_ws/NfseWs.asmx?WSDL"; $headers = array( "POST /nfse_ws/nfsews.asmx HTTP/1.1", "Host: pilotoisscuritiba.curitiba.pr.gov.br", "Content-Type: text/xml; charset=utf-8", "SOAPAction: \"http://www.e-governeapps2.com.br/ConsultarNfse\"", "Content-length: " . strlen($xml_data) ); $xml = $xml_data; $ch = curl_init(); $soapUser = "username"; // username $soapPassword = "123456"; // password curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); curl_setopt($ch, CURLOPT_CAINFO, getcwd() . '\Pre_ISS_Cert.pem'); curl_setopt($ch, CURLOPT_URL, "$url"); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_SSH_PRIVATE_KEYFILE, getcwd() . '\Pref_ISS_Cert.pfx'); curl_setopt($ch, CURLOPT_SSLCERT, getcwd() . '\Pre_ISS_Cert.pem'); curl_setopt($ch, CURLOPT_SSLCERTPASSWD, "easy2017"); curl_setopt($ch, CURLOPT_POSTFIELDS, $xml); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0); curl_setopt($ch, CURLOPT_REFERER, "$url"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_VERBOSE, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); $ch_result = curl_exec($ch); print_r($ch_result); curl_close($ch); ?> Alguma ideia do que fazer nessa situação sabendo que não adianta ligar pro lugar que fornece o serviço?