简体   繁体   中英

Need help in reading from a XML file in PHP

I'm trying to get data from a XML file in PHP using simpleXML, but I constantly get the error 'simplexml trying to get property of non-object' when I try to read it. This is the XML file I'm using:


  <?xml version="1.0" encoding="UTF-8" ?> 
- <cteProc versao="3.00" xmlns="http://www.portalfiscal.inf.br/cte">
- <CTe xmlns="http://www.portalfiscal.inf.br/cte">
- <infCte versao="3.00" Id="CTe35191103408053000134570050000004561000426290">
- <ide>
  <cUF>35</cUF> 
  <cCT>00042629</cCT> 
  <CFOP>6932</CFOP> 
  <natOp>TRANSP INICIADO UF DIVERSA DO PRESTADOR</natOp> 
  <mod>57</mod> 
  <serie>5</serie> 
  <nCT>456</nCT> 
  <dhEmi>2019-11-06T15:02:53-03:00</dhEmi> 
  <tpImp>1</tpImp> 
  <tpEmis>1</tpEmis> 
  <cDV>0</cDV> 
  <tpAmb>1</tpAmb> 
  <tpCTe>0</tpCTe> 
  <procEmi>0</procEmi> 
  <verProc>Bsoft 3.01.0.0716</verProc> 
  <cMunEnv>3502754</cMunEnv> 
  <xMunEnv>Aracariguama</xMunEnv> 
  <UFEnv>SP</UFEnv> 
  <modal>01</modal> 
  <tpServ>0</tpServ> 
  <cMunIni>1506500</cMunIni> 
  <xMunIni>Santa Isabel do Para</xMunIni> 
  <UFIni>PA</UFIni> 
  <cMunFim>3106200</cMunFim> 
  <xMunFim>Belo Horizonte</xMunFim> 
  <UFFim>MG</UFFim> 
  <retira>1</retira> 
  <indIEToma>1</indIEToma> 
- <toma3>
  <toma>3</toma> 
  </toma3>
  </ide>
- <compl>
  <xCaracAd>Normal</xCaracAd> 
- <Entrega>
- <semData>
  <tpPer>0</tpPer> 
  </semData>
- <semHora>
  <tpHor>0</tpHor> 
  </semHora>
  </Entrega>
  <xObs>;Observacao do Pagador: ;Nota Fiscal: 93</xObs> 
  </compl>
- <emit>
  <CNPJ>03408053000134</CNPJ> 
  <IE>734062539116</IE> 
  <xNome>M G TRANSPORTES E LOCACAO LTDA EPP</xNome> 
  <xFant>M G TRANSPORTES E LOCACAO LTDA EPP</xFant> 
- <enderEmit>
  <xLgr>R. DR. RUBEN DARIO ALMONACID</xLgr> 
  <nro>177</nro> 
  <xBairro>RONDA</xBairro> 
  <cMun>3502754</cMun> 
  <xMun>Aracariguama</xMun> 
  <CEP>18147000</CEP> 
  <UF>SP</UF> 
  <fone>1142048800</fone> 
  </enderEmit>
  </emit>
- <rem>
  <CNPJ>30684804000118</CNPJ> 
  <IE>156065827</IE> 
  <xNome>PURO SABOR COM E DISTRI DE POLPAS DE FRUTAS EIRELI</xNome> 
  <xFant>ACAI PURO SABOR</xFant> 
- <enderReme>
  <xLgr>AV PEDRO CONSTANTINO</xLgr> 
  <nro>1387</nro> 
  <xBairro>CENTRO</xBairro> 
  <cMun>1506500</cMun> 
  <xMun>Santa Isabel do Para</xMun> 
  <CEP>68790000</CEP> 
  <UF>PA</UF> 
  <cPais>1058</cPais> 
  <xPais>Brasil</xPais> 
  </enderReme>
  </rem>
- <dest>
  <CNPJ>23149412000193</CNPJ> 
  <IE>0625428900040</IE> 
  <xNome>ORGANIZACAO FERRAZ LTDA - ME</xNome> 
  <fone>3133832649</fone> 
- <enderDest>
  <xLgr>R AMANDA</xLgr> 
  <nro>165</nro> 
  <xBairro>BETANIA</xBairro> 
  <cMun>3106200</cMun> 
  <xMun>Belo Horizonte</xMun> 
  <CEP>30580500</CEP> 
  <UF>MG</UF> 
  <cPais>1058</cPais> 
  <xPais>Brasil</xPais> 
  </enderDest>
  </dest>
- <vPrest>
  <vTPrest>4000.00</vTPrest> 
  <vRec>4000.00</vRec> 
- <Comp>
  <xNome>Frete Valor</xNome> 
  <vComp>4000.00</vComp> 
  </Comp>
  </vPrest>
- <imp>
- <ICMS>
- <ICMSOutraUF>
  <CST>90</CST> 
  <vBCOutraUF>0.00</vBCOutraUF> 
  <pICMSOutraUF>0.00</pICMSOutraUF> 
  <vICMSOutraUF>0.00</vICMSOutraUF> 
  </ICMSOutraUF>
  </ICMS>
  </imp>
- <infCTeNorm>
- <infCarga>
  <vCarga>49000.00</vCarga> 
  <proPred>ACAI POPULAR</proPred> 
  <xOutCat>FARDOS</xOutCat> 
- <infQ>
  <cUnid>01</cUnid> 
  <tpMed>PESO</tpMed> 
  <qCarga>14.2800</qCarga> 
  </infQ>
- <infQ>
  <cUnid>03</cUnid> 
  <tpMed>VOLUMES</tpMed> 
  <qCarga>350.0000</qCarga> 
  </infQ>
  <vCargaAverb>49000.00</vCargaAverb> 
  </infCarga>
- <infDoc>
- <infNFe>
  <chave>15191130684804000118550010000000931251541070</chave> 
  <dPrev>2019-11-07</dPrev> 
  </infNFe>
  </infDoc>
- <infModal versaoModal="3.00">
- <rodo>
  <RNTRC>01675415</RNTRC> 
  </rodo>
  </infModal>
  </infCTeNorm>
- <autXML>
  <CNPJ>08117647000100</CNPJ> 
  </autXML>
  </infCte>
- <infCTeSupl>
- <qrCodCTe>
- <![CDATA[ https://nfe.fazenda.sp.gov.br/CTeConsulta/qrCode?chCTe=35191103408053000134570050000004561000426290&tpAmb=1
  ]]> 
  </qrCodCTe>
  </infCTeSupl>
- <Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
- <SignedInfo>
  <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" /> 
  <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" /> 
- <Reference URI="#CTe35191103408053000134570050000004561000426290">
- <Transforms>
  <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" /> 
  <Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" /> 
  </Transforms>
  <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> 
  <DigestValue>x/LIWXdM2mO7su2aj+wtnlkv4LI=</DigestValue> 
  </Reference>
  </SignedInfo>
  <SignatureValue>exLyo9adG1pYkmSIKJ5W9bbYp6rx7eDWb5JlrdQMBBrvF3XtQ6Xq2Lsy9Y4Ii8wBIyNpA6h10Y6kTOiHTNXHeYxuBAbYlzx37nU7FM/dSjVD3y9+myuJwJOfRO0cZdoTnmdBIY9fR1vJYytd91EOXxd2Kngnn182hRcct3NAa+vjLh0ZM0E10cT9g4w36gA30n0cLrIQ4LzpvDstm0/L51RBMocX6Y7SfH289qQmyP7Xi8OT9arFB80nGVGK9xYwGGx1+R45wqlKcr26puPXQu1bfXauOfu8x1PSJwBToeyp6C3AivsDuprMIN8SO7HaTCRnwBlF34VStYI69iDNTA==</SignatureValue> 
- <KeyInfo>
- <X509Data>
  <X509Certificate>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</X509Certificate> 
  </X509Data>
  </KeyInfo>
  </Signature>
  </CTe>
- <protCTe versao="3.00">
- <infProt>
  <tpAmb>1</tpAmb> 
  <verAplic>SP-CTe-08-10-2019</verAplic> 
  <chCTe>35191103408053000134570050000004561000426290</chCTe> 
  <dhRecbto>2019-11-06T16:09:38-03:00</dhRecbto> 
  <nProt>135191641022356</nProt> 
  <digVal>x/LIWXdM2mO7su2aj+wtnlkv4LI=</digVal> 
  <cStat>100</cStat> 
  <xMotivo>Autorizado o uso do CT-e</xMotivo> 
  </infProt>
  </protCTe>
  </cteProc>

I tried, for example, getting the value of CNPJ surrounded by just under the tag, using $cnpj = $xmldata->cteProc->CTe->infCte->emit but to no success. Sorry, I'm kinda new to PHP and not sure where I'm going wrong, thanks

simplexml_load_[string|file]() will consume the wrapper tag, in your case the cteProc tag.

This means that you don't need to look inside that object to access the other objects within.

To get to CNPJ , it would look like:

$cnpj = $xmldata->CTe->infCte->emit->CNPJ;

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM