Usuário com melhor resposta
Erro de Parsing XML - Msg 9420

Pergunta
-
Pessoal, Estou tentando executar o trecho de código abaixo para converter um XML de uma nf-e, porém, estou encontrado dificuldades no tratamento de caracteres.
Alguém poderia me ajudar?
DECLARE @XML XML
SET @XML =
'<?xml version="1.0" encoding="UTF-8"?>
<nfeProc xmlns="http://www.portalfiscal.inf.br/nfe" versao="3.10">
<NFe>
<infNFe versao="3.10" Id="NFe43180289723977006343550010006737971655223502">
<ide>
<cUF>43</cUF>
<cNF>65522350</cNF>
<natOp>TRANSFERÊNCIA TRIBUTADA - BRITA</natOp>
<indPag>0</indPag>
<mod>55</mod>
<serie>1</serie>
<nNF>673797</nNF>
<dhEmi>2018-02-02T13:18:38-02:00</dhEmi>
<dhSaiEnt>2018-02-02T13:18:38-02:00</dhSaiEnt>
<tpNF>1</tpNF>
<idDest>1</idDest>
<cMunFG>4314803</cMunFG>
<tpImp>1</tpImp>
<tpEmis>1</tpEmis>
<cDV>2</cDV>
<tpAmb>1</tpAmb>
<finNFe>1</finNFe>
<indFinal>0</indFinal>
<indPres>1</indPres>
<procEmi>0</procEmi>
<verProc>Safeweb eNotaR 2.3</verProc>
</ide>
</infNFe>
</NFe>
</nfeProc>'
;WITH XMLNAMESPACES(DEFAULT 'http://www.portalfiscal.inf.br/nfe')
SELECT
NFe.value('cUF[1]', 'int') AS cUF
, NFe.value('cNF[1]', 'int') AS cNF
, NFe.value('../emit[1]/CNPJ[1]','varchar(20)') AS CNPJ
, NFe.value('../emit[1]/enderEmit[1]/xLgr[1]','varchar(max)') AS xLgr
, NFe.value('../emit[1]/enderEmit[1]/nro[1]','varchar(50)') AS nro
, NFe.value('../emit[1]/enderEmit[1]/xBairro[1]','varchar(max)') AS xBairro
FROM @XML.nodes('//infNFe/ide') as NFes (NFe)
Resultado:
Mensagem 9420, Nível 16, Estado 1, Linha 3
XML parsing: line 8, character 28, illegal xml character
Respostas
Todas as Respostas
-
Deleted
- Sugerido como Resposta Junior Galvão - MVPMVP segunda-feira, 19 de fevereiro de 2018 12:27
-
-
-