Extrair informações XML

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
Pablo
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 190
Registrado em: Sex, 27 Out 2006 11:12 am
Localização: 88350000
Pablo

Bom dia mestres.
Possuo um arquivo do IBGE mostrando o polígono dos municípios (são 5560 municípios). este arquivo está em XML..então consegui importar ele para meu bd com o atributo da minha tabela em CLOB.
Até ai tudo bem, mas, agora, preciso extrair as informações dessa tabela. Andei olhando os post aqui no forum...mas, achei tudo muito confuso (artigo: http://glufke.net/oracle/viewtopic.php?t=4647 )

Minha ideia é fazer um loop para separar essas tag. Por exemplo:
a informação NOME_CIDADE, ESTADO, LATITUDE e LONGITUDE se repede diversas vezes no xml...preciso colocar essas informações em outra tabela.

Tentei usar o seguinte sql:

Selecionar tudo


select extractvalue(value(FAQ),'/Folder') query
from ( select xmltype.createxml(a.coluna2) xml_data
       from excluir_pablo7 a /*Minha tabela está armazenando CLOB, então converti ela para xml*/
      ) xt,
      table(xmlsequence(extract(xt.xml_data , '/Folder'))) FAQ

mas não retorna informação alguma.

Alguém consegue dar alguma ideia de como posso prosseguir?!

Abaixo o exemplo do xml

Selecionar tudo

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom">
<Folder>
   <name>Municípios do Brasil, 2007</name>
   <open>1</open>
   <description><![CDATA[Limites geográficos de 5566 municípios brasileiros.

<pre>$ ogr2ogr -f "KML" -t_srs EPSG:4326 brasil.kml 55mu2500gsr.shp</pre>]]></description>
   <Placemark>
      <name>Alta Floresta D&apos;Oeste</name>
      <Style>
         <LineStyle>
            <color>ff0000ff</color>
         </LineStyle>
         <PolyStyle>
            <fill>0</fill>
         </PolyStyle>
      </Style>
      <ExtendedData>
         <SchemaData schemaUrl="#55mu2500gsr">
            <SimpleData name="GEOCODIG_M">1100015</SimpleData>
            <SimpleData name="UF">11</SimpleData>
            <SimpleData name="SIGLA">RO</SimpleData>

spernega
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 232
Registrado em: Ter, 19 Jun 2007 2:12 pm
Localização: São Paulo - SP

Boa tarde Pablo,

Tem como você postar um arquivo XML completo?

Eu faço a leitura do XML da nota fiscal eletrônica, mas a estrutura desse ai é um pouco diferente.
Pablo
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 190
Registrado em: Sex, 27 Out 2006 11:12 am
Localização: 88350000
Pablo

Olá.
Cara...é gigante o xml...tem mais de 30 mb. Posso t mandar por email?
spernega
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 232
Registrado em: Ter, 19 Jun 2007 2:12 pm
Localização: São Paulo - SP

Pode, dá uma compactada.

Vou ver se amanhã eu consigo testar.
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 13 visitantes