Jump to content
Fivewin Brasil

Ajuda com o TXmlDocument():New(cxml)


PauloPJ

Recommended Posts

Ola Pessoal!

Preciso de uma ajuda para decifrar os enigmas.

não consigo ler um arquivo xml usando a classe TXmlDocument():New(),

da erro 4



O XML em questão é uma resposta de um web-service da prefeitura de Petrópolis.




cxml:='<?xmlversion="1.0"?>


<SOAP-ENV:Body>

<ws_nfe.CONSULTANOTASPROTOCOLOResponsexmlns="NFe">

<Sdt_consultanotasprotocoloout>

<Retorno>true</Retorno>

<Messages>

<Message>

<Id>OK</Id>

<Type>0</Type>

<Description>Notascarregadascomsucesso</Description>

<LinErr>0</LinErr>

</Message>

</Messages>

<XML_Notas>

<CpfCnpj>52.878.862/0001-15</CpfCnpj>

<DtIni>2014-02-12</DtIni>

<DtFin>2014-02-12</DtFin>

<TipoArq>0</TipoArq>

<Versao>2.00</Versao>

<Reg20>

<Reg20Item>

<TipoNf>P</TipoNf>

<NumNf>45</NumNf>

<SerNf>NFE</SerNf>

<DtEmiNf>12/02/2014</DtEmiNf>

<DtHrGerNf>12/02/201408:04:41</DtHrGerNf>

<CodVernf>116F76843BE21199E8D7</CodVernf>

<NumRps>49</NumRps>

<SerRps>Edu</SerRps>

<DtEmiRps>12/02/2014</DtEmiRps>

<TipoCpfCnpjPre>J</TipoCpfCnpjPre>

<CpfCnpjPre>52.878.862/0001-15</CpfCnpjPre>

<RazSocPre>TesteRPSEletronicoOficinaSN</RazSocPre>

<LogPre>VilaManoelFraguas</LogPre>

<NumEndPre>123</NumEndPre>

<ComplEndPre/>

<BairroPre>Quissama</BairroPre>

<MunPre>PETROPOLIS</MunPre>

<SiglaUFPre>RJ</SiglaUFPre>

<CepPre>25615400</CepPre>

<EmailPre>comercia@rpseletronico.com.br</EmailPre>

<TipoTribPre>SN</TipoTribPre>

<DtAdeSN>01/01/2007</DtAdeSN>

<AlqIssSN>2.50</AlqIssSN>

<SitNf>1</SitNf>

<DataCncNf>//00:00:00</DataCncNf>

<MotivoCncNf/>

<TipoCpfCnpjTom>C</TipoCpfCnpjTom>

<CpfCnpjTom>CONSUMIDOR</CpfCnpjTom>

<RazSocTom>ConsumidorFinal</RazSocTom>

<LogTom>ConsumidorFinal</LogTom>

<NumEndTom/>

<ComplEndTom/>

<BairroTom>ConsumidorFinal</BairroTom>

<MunTom>PETROPOLIS</MunTom>

<SiglaUFTom>RJ</SiglaUFTom>

<CepTom>0</CepTom>

<EMailTom/>

<LogLocPre/>

<NumEndLocPre/>

<ComplEndLocPre/>

<BairroLocPre/>

<MunLocPre>PETROPOLIS</MunLocPre>

<SiglaUFLocpre>RJ</SiglaUFLocpre>

<CepLocPre>0</CepLocPre>

<CodSrv>14.01</CodSrv>

<DiscrSrv>Lubrifica?co,limpeza,lustra?co,revisco,cargaerecarga,conserto,restaura?co,blindagem,manuten?coeconserva?codemaquinas,veiculos,aparelhos,equipamentos,motores,elevadoresoudequalquerobjeto(excetope?asepartesempregadas,queficamglksclfjwejgwlel</DiscrSrv>

<VlNFS>250.00</VlNFS>

<VlDed>0.00</VlDed>

<DiscrDed/>

<VlBasCalc>250.00</VlBasCalc>

<AlqIss>2.50</AlqIss>

<VlIss>6.25</VlIss>

<VlIssRet>0.00</VlIssRet>

<Reg30>

<Reg30Item>

<TributoSigla>IR</TributoSigla>

<TributoAliquota>0.00</TributoAliquota>

<TributoValor>0.00</TributoValor>

</Reg30Item>

<Reg30Item>

<TributoSigla>PIS</TributoSigla>

<TributoAliquota>0.00</TributoAliquota>

<TributoValor>0.00</TributoValor>

</Reg30Item>

<Reg30Item>

<TributoSigla>COFINS</TributoSigla>

<TributoAliquota>0.00</TributoAliquota>

<TributoValor>0.00</TributoValor>

</Reg30Item>

<Reg30Item>

<TributoSigla>CSLL</TributoSigla>

<TributoAliquota>0.00</TributoAliquota>

<TributoValor>0.00</TributoValor>

</Reg30Item>

<Reg30Item>

<TributoSigla>INSS</TributoSigla>

<TributoAliquota>0.00</TributoAliquota>

<TributoValor>0.00</TributoValor>

</Reg30Item>

<Reg30Item>

<TributoSigla>ISS</TributoSigla>

<TributoAliquota>0.00</TributoAliquota>

<TributoValor>0.00</TributoValor>

</Reg30Item>

<Reg30Item>

<TributoSigla>OUTROS</TributoSigla>

<TributoAliquota>0.00</TributoAliquota>

<TributoValor>0.00</TributoValor>

</Reg30Item>

</Reg30>

</Reg20Item>

</Reg20>

<Reg90>

<QtdRegNormal>1</QtdRegNormal>

<ValorNFS>250.00</ValorNFS>

<ValorISS>0.00</ValorISS>

<ValorDed>0.00</ValorDed>

<ValorIssRet>0.00</ValorIssRet>

<QtdReg30>7</QtdReg30>

<ValorTributos>0.00</ValorTributos>

</Reg90>

</XML_Notas>

</Sdt_consultanotasprotocoloout>

</ws_nfe.CONSULTANOTASPROTOCOLOResponse>

</SOAP-ENV:Body>

</SOAP-ENV:Envelope>'




oMnuXml := TXMLDocument():New( cxml, HBXML_STYLE_NOESCAPE )


IF oMnuXml:nError != HBXML_ERROR_NONE

Msgstop( "xml com problema " + Str( oMnuXml:nError ) )

ENDIF



DESDE JÁ AGRADEÇO A QUEM CONSEGUIR DECIFRAR O ENIGMA.




Link to comment
Share on other sites

Obrigado !


A Variável cXML := é xml em questão.

O erro que aparece é 4, é a variável do oMnuXml:nErro

O que diz eu não sei , pois não achei manual contendo esta tabela de erro.


// codigo fonte

oMnuXml := TXMLDocument():New( cxml, HBXML_STYLE_NOESCAPE )

IF oMnuXml:nError != HBXML_ERROR_NONE

Msgstop( "xml com problema " + Str( oMnuXml:nError ) )

ENDIF
Link to comment
Share on other sites

Obrigado novamente!

o Sistema é todo em Five com alguns methods de harbour e xharbour .

Eu tenho isso funcionando com o XML da NFe e NFCe. o problema esta dando da importação do XML da prefeitura de Petrópolis.

Como não tem um manual desta classe, eu fico as segas, para saber interpretar o erro.

Fiz testes usando C# e funcionou perfeito, fui então testar no Five , eu consigo consumir o web service deles, porem quando volta o XML vem em um formato que a classe TXMLDocument() não consegue ler.

Senão vou ter que criar uma classe própria para interpretar o XML. Não queria perder este tempo inventando a roda.

Link to comment
Share on other sites

Olá,

O problema pode estar aqui:

<DiscrSrv>Lubrifica?co,limpeza,lustra?co,revisco,cargaerecarga,conserto,restaura?co,blindagem,manuten?coeconserva?codemaquinas,veiculos,aparelhos,equipamentos,motores,elevadoresoudequalquerobjeto(excetope?asepartesempregadas,queficamglksclfjwejgwlel</DiscrSrv>

Tente retirar as acentuações neste campo.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...