Jump to content
s3c0

Ler XML ASP

Recommended Posts

Prezados,

 

boa noite. Estou precisando de um help!

 

possuo um script que retorna o seguinte XML:

 

<tns:phpsysinfo xmlns:tns="http://phpsysinfo.sourceforge.net/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://phpsysinfo.sourceforge.net/ phpsysinfo3.xsd">
<Generation version="3.3.0" timestamp="1554324372"/>
<Options tempFormat="c" byteFormat="auto_binary" datetimeFormat="utc" refresh="60000" threshold="90"/>
<Vitals Hostname="WIN" IPAddr="127.0.0.1" Kernel="6.1.7600 (64-bit)" Distro="Microsoft Windows Server 2008 R2 Enterprise" Distroicon="WinVista.png" Uptime="204091" Users="0" LoadAvg="" CPULoad="0" SysLang="Portuguese - Brazil (1046)" CodePage="windows-1252" Processes="56" OS="WINNT"/>
<Network/>
<Hardware Name="VMware, Inc. VMware Virtual Platform">
<PCI>
<Device Name="PCI standard PCI-to-PCI bridge" Count="2"/>
<Device Name="PCI Express standard Root Port" Count="32"/>
<Device Name="Standard AHCI 1.0 Serial ATA Controller" Manufacturer="Standard AHCI 1.0 Serial ATA Controller"/>
<Device Name="Intel(R) PRO/1000 MT Network Connection" Manufacturer="Intel"/>
<Device Name="Intel(R) PRO/1000 MT Network Connection #2" Manufacturer="Intel"/>
<Device Name="Intel(R) PRO/1000 MT Network Connection #3" Manufacturer="Intel"/>
<Device Name="LSI Adapter, SAS 3000 series, 8-port with 1068" Manufacturer="LSI"/>
<Device Name="Intel 82371AB/EB PCI to ISA bridge (ISA mode)" Manufacturer="Intel"/>
<Device Name="VMware SVGA 3D" Manufacturer="VMware, Inc."/>
<Device Name="Intel(R) 82371AB/EB PCI Bus Master IDE Controller" Manufacturer="Intel"/>
<Device Name="VMware VMCI Bus Device" Manufacturer="VMware, Inc."/>
<Device Name="Intel 82443BX Pentium(R) II Processor to PCI Bridge" Manufacturer="Intel"/>
</PCI>
<IDE>
<Device Name="NECVMWar VMware SATA CD00 ATA Device"/>
</IDE>
<SCSI>
<Device Name="VMware Virtual disk SCSI Disk Device" Capacity="128849011200"/>
</SCSI>
<CPU>
<CpuCore Model="Intel(R) Xeon(R) CPU E3-1231 v3 @ 3.40GHz" CpuSpeed="3400" Cache="0"/>
<CpuCore Model="Intel(R) Xeon(R) CPU E3-1231 v3 @ 3.40GHz" CpuSpeed="3400" Cache="0"/>
<CpuCore Model="Intel(R) Xeon(R) CPU E3-1231 v3 @ 3.40GHz" CpuSpeed="3400" Cache="0"/>
<CpuCore Model="Intel(R) Xeon(R) CPU E3-1231 v3 @ 3.40GHz" CpuSpeed="3400" Cache="0"/>
</CPU>
</Hardware>
<Memory Free="1720385536" Used="2574114816" Total="4294500352" Percent="60">
<Swap Free="3048210432" Used="685768704" Total="3733979136" Percent="18">
<Mount MountPointID="1" FSType="swap" Name="SWAP" Free="3048210432" Used="685768704" Total="3733979136" Percent="18" MountPoint="C:\pagefile.sys"/>
</Swap>
</Memory>
<FileSystem>
<Mount MountPointID="1" FSType="" Name="Removable Disk (3 1/2 in.)" Free="0" Used="0" Total="0" Percent="0" MountPoint="A:"/>
<Mount MountPointID="2" FSType="NTFS" Name="Local Disk" Free="732983296" Used="128009076736" Total="128742060032" Percent="99" MountPoint="C:"/>
<Mount MountPointID="3" FSType="" Name="Compact Disc" Free="0" Used="0" Total="0" Percent="0" MountPoint="D:"/>
</FileSystem>
<MBInfo/>
<UPSInfo/>
<Plugins/>
<Errors/>
</tns:phpsysinfo>

tenho o seguinte código em ASP:

 

<%
  
  url_server = "http://127.0.0.1/xml.php?plugin=complete"

Set xmlhttp = Server.CreateObject("Microsoft.XMLHTTP")

  Call xmlhttp.open("GET", url_server, false)

  Call xmlhttp.send()

  strRetorno = xmlhttp.responseText

  Set oXmlDom = Server.CreateObject("Msxml2.DOMDocument.3.0")

  oXmlDom.loadXML strRetorno

  Set oNodes = oXmlDom.selectNodes("tns:phpsysinfo/FileSystem/Mount")

  for each oNode in oNodes
   

         response.write "Cache " & oNode.selectSingleNode("Percent").Text


 next

  Set oXmlDom = Nothing
%>

ao tentar trazer alguns valores, sempre me retorna o seguinte erro:

 

Erro de tempo de execução do Microsoft VBScript erro '800a01a8'

Objeto necessário: 'oNode.selectSingleNode(...)'

 

Preciso trazer os valores de:

CPU
Memory

HD

 

Alguém teria alguma dica de como consigo resolver?

 

Agradeço a atenção de todos.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Person
      Estou fazendo um protótipo de e-commerce com aps clássico e sql server, na parte de administração, o usuário administrativo pode alterar o status do pedido,  para isso ele clica no botão de alterar na pagina principal e é redirecionado para um formulário onde tenho as options, para que ele mude o status, coloquei um botão para que ele passe os parâmetros  (id_pedido e id_status_pedido) para a pagina de manutenção, onde é feito o update e o envio de e-mail com as atualizações. Mas quero retirar esse botão e fazer com que, assim que eu clique em uma opção, ele altere, sem eu precisar ser redirecionado para a tela de manutenção, isso com o Ajax se possível.
       
      <body> <% call Abredb() cod = Request.QueryString("cod") evt = Request.QueryString("evt") if cod <> "" then cod = cint(cod) end if if ucase(evt) = "ALT" then sql = "exec SP_TR32_status_frm_SEL" 'Response.Write(sql) 'Response.End() set rs = dbWeb.execute(sql) estrato = rs("id_status_pedido") bot = "Alterar" end if %> <div class="container"> <div class="titulo">Formulario</div> <form action="manu_pedido.asp" method="post" enctype="multipart/form-data"> <div class="detalhes-formulario"> <div class="input-box"> <span class="detalhes">status</span> <select class="form-control" name = "status"> <% do while not rs.eof%> <option value="<%=rs("id_status_pedido")%>"><%=rs("descricao")%></option> <% rs.movenext loop rs.close set rs = nothing %> </select> </div> </div> <button><a href="/treinamento/Thau/mini_mercado/adm/manu_pedido.asp?evt=alt&cod="<%=cod%>"&estrato="<%rs("id_status_pedido")%> </form> </div> <br> </body> <%call Fechadb()%> </html> Abaixo está o código da minha pagina de manutenção, no qual acontece a alteração do status
      <% Function ZerosEsquerda(Num,tam) Dim Zero Num = Trim(Num) Zero = "" For i = Len(Num) To tam - 1 Zero = "0" & Zero Next ZerosEsquerda = Trim(Zero & Num) End Function byteCount = Request.TotalBytes RequestBin = Request.BinaryRead(byteCount) Set UploadRequest = CreateObject("Scripting.Dictionary") BuildUploadRequest RequestBin 'opc = request.QueryString("opc") 'if opc = "" then 'cod = UploadRequest.Item("hfcod").Item("Value") 'botao = UploadRequest.Item("botao").Item("Value") 'estrato = UploadRequest.Item("estrato").Item("Value") 'end if session.LCID = 1046 call Abredb() if botao = "Alterar" then ' ALTERANDO OS DADOS RECEBIDOS NA TABELA sql = "exec SP_TR32_pedido_UPD "&cod&", '"&estrato&"'" 'response.write sql 'response.end dbWeb.execute(sql) str_html = "" str_html = str_html & "<HTML><BODY BGCOLOR=#0000FF>" str_html = str_html & "<h1>produtos</h1>" sql ="SP_TR32_email__itens_sel "&cod&"" set rs = dbWeb.execute(sql) str_html = str_html & "<table>" str_html = str_html & "<thead>" str_html = str_html & " <tr>" str_html = str_html & "<th>Produtos</th>" str_html = str_html & "<th>quantidade</th>" str_html = str_html & " <th>Total</th>" str_html = str_html & "</tr>" str_html = str_html & " </thead>" str_html = str_html & "<tbody>" do while not rs.eof str_html = str_html & "<tr>" str_html = str_html & "<td >"&rs("produto")&"</td>" str_html = str_html & "<td >"&rs("quantidade")&"</td>" str_html = str_html & "<td >"&rs("total")&"</td>" str_html = str_html & "</tr>" rs.movenext loop rs.close set rs = nothing str_html = str_html & " </tbody>" str_html = str_html & "</table>" str_html = str_html & "</BODY></HTML>" sql = "SP_TR32_email_sel "&cod&"" set rs = dbWeb.execute(sql) if estrato<>"" then Set ObjMail = Server.CreateObject("Cdonts.Newmail") objMail.Subject = "Atualização de pedido" objMail.From = "Porto Dourado <contato@email.websupply.com.br>" objMail.To = "request("email")" objMail.BodyFormat = 0 objMail.MailFormat = 0 objMail.Body = "Olá"&" "&rs("nome")&" "&rs("sobrenome")&", </br> Houve uma atualização em seu pedido pedido: "&rs("id_pedido")&" </br> o status mudou para: "&rs("descricao")&" </br> endereço de entrega: "&rs("cep")&", "&rs("rua")&", "&rs("bairro")&", "&rs("numero")&", "&rs("cidade")&", "&rs("Uf")&" </br>Total pedido: "&rs("total_pedido")&" </br> "& str_html &" </br></br>"&" Atentamente,"&" </br> "&"Equipe Porto dourado"&" </br></br> "&"Para entrar em contato com a equipe de suporte, entre em contato com o email ou ligue para nossa central no numero " objMail.Send Set objMail = nothing envio = true %> <script> alert('email com alteração enviado com sucesso!'); </script> <% end if if estrato = 6 then sql = "exec SP_TR32_adm_data_envio_UPD "&cod&"" dbWeb.execute(sql) end if if estrato = 4 then sql = "exec SP_TR32_adm_data_entregue_UPD "&cod&"" dbWeb.execute(sql) end if %> <script> alert("Dados alterado com sucesso!") parent.location = "cst_pedido.asp" </script> <% end if %> <%call Fechadb()%>  
    • By alysson122010
      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?
    • By ILR master
      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!
    • By eStevo2734
      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)...
    • By joeythai
      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>
×

Important Information

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