none
Ajuda: Problema com atributo xmlns ao abrir um arquivo com OPENXML RRS feed

  • Pergunta

  • Seguinte pessoal

    , to tentando importar um arquivo XML para uma tabela do meu banco mas estou com um problema.

    Quando o arquivo

    XML vem com o atributo XMLNS ( acho que o namespace ) , simplismente nao consigo recuperar os dados do arquivo. Se eu editar esse arquivo e retirar ou substituir o atributo XMLNS , eu consigo recuperar os dados normalmente.

    Algum pode me dizer o que fazer? Alguma forma de retirar esse atributo

    , ignora-lo..sei la!

    Segue a minha query e um exemplo de como esta o XML

    .

    '<?xml version="1.0" standalone="yes" ?>

    - <CapitalLogin xmlns="Kurier">

    - <Publicacoes>

    <Codigo>543</Codigo>

    <Data>53435</Data>

    <Partes />

    <Nome>32343</Nome>

    <Processo>32 3236-2</Processo>

    <Justica>3232</Justica>

    <Estado>2323</Estado>

    <Forum />

    <Vara>23</Vara>

    <Pagina />

    <Diario>123</Diario>

    <Texto>Bla bla bla</Texto>

    </Publicacoes>

    '

    -- Query

    DECLARE

     

    @xmlItens Int

    DECLARE

     

    @XML XML

     

    SET @XML = (

     

    SELECT Cast(BulkColumn AS XML)

     

    FROM OPENROWSET(BULK N'D:\SQL_LOCAL\Cpia de XML.BRB.22.03.2010_Tribunal_TJDF_DF.xml', SINGLE_BLOB)

     

    AS MeuArquivo)

     

     

    Select @XML

     

     

    Exec sp_xml_preparedocument @xmlItens OUTPUT, @XML

     

     

    If Object_id('tempdb..#Publicacao') Is Not Null

     

    Drop Table #Publicacao

     

     

    Select x.Codigo,x.Data

     

    ,x.Partes,x.Nome,x.Processo

     

    ,x.Justica,x.Estado,x.Forum,x.Vara,x.Pagina,x.Diario,x.Texto

     

     

    From OpenXml(@xmlItens,'CapitalLogin/Publicacoes', 2)

     

     

    With (

     

    Codigo

    int, Data varchar(15),Partes varchar(10),Nome varchar(50),Processo varchar(15),Justica varchar(15) ,Estado char(4),Forum varchar(15),Vara varchar(15),Pagina varchar(15), Diario varchar(15), Texto varchar(max) ) x

     

    Exec

     

    sp_xml_removedocument @xmlItens

    Obrigado!

    • Movido Gustavo Maia Aguiar quarta-feira, 24 de março de 2010 14:29 (De:SQL Server - Desenvolvimento Geral)
    terça-feira, 23 de março de 2010 14:29

Todas as Respostas

  • Anderson,

    Vendo seu XML.. ele na verdade está com erro no arquivo.

    Está faltando fechar CapitalLogin...

    Altere o arquivo, coloque-o assim

    <?xml version="1.0" standalone="yes" ?>

    - <CapitalLogin xmlns="Kurier"/>

    - <Publicacoes>

    <Codigo>543</Codigo>

    <Data>53435</Data>

    <Partes />

    <Nome>32343</Nome>

    <Processo>32 3236-2</Processo>

    <Justica>3232</Justica>

    <Estado>2323</Estado>

    <Forum />

    <Vara>23</Vara>

    <Pagina />

    <Diario>123</Diario>

    <Texto>Bla bla bla</Texto>

    </Publicacoes>

     

     

     

    terça-feira, 23 de março de 2010 16:44
  • Muito obrigado pela atenção Nakane,

    mas creio que o problema n tá ai. Como eu disse, quando substituo o atributo XMLNS por qualquer outro, ele funciona normalmente.

    N sei se esse atributo é uma palavra reservada que me impede de fazer alguma coisa ou algo parecido.

     

     

    terça-feira, 23 de março de 2010 18:33
  • Amigo

    já peguei problema parecido

    Pode soar estranho mas a melhor solução é remover o xmlms

    Funcionou comigo em 100% dos casos

     

    segunda-feira, 29 de março de 2010 20:29
  • Amigo, esse xmlns é usado para validações de xml que fujam da formatação comum, verifique se vc precisa utilizar a validação. Qualuqer coisa, tire. ;)
    terça-feira, 30 de março de 2010 00:50