Jump to content


Photo

Ler XML em vários níveis com DOM

ASP

  • Faça o login para participar
Nenhuma resposta neste tópico

#1 rmmtins20

rmmtins20

    Novato no fórum

  • Usuários
  • 1 posts
  • Sexo:Não informado

Posted 23/03/2015, 23:31

 

Olá, estou precisando ler um arquivo XML para posterior inserção no SQL.
O problema é que este XML tem vários níveis e não consigo ler a partir dos netos, não consigo por exemplo pegar os valores a partir do nó "contrato" e seus subníveis.

    Vejam o arquivo XML:

    ======
    <Lst_clientes>
        <cliente>
            <id>1</id>
            <nome>JOÃO</nome>
            <contrato>
                  <dados_contrato>
                    <valor>400</valor>
                    <qtde_vagas>2</qtde_vagas>
                    <list_dependentes>
                          <dependente>
                            <placa>GUP4421</placa>
                            <nome>Joana dos Santos</nome>
                          </dependente>
                          <dependente>
                            <placa>ANX8762</placa>
                            <nome>Aline Veiga</nome>
                          </dependente>
                    </list_dependentes>
                  </dados_contrato>
            </contrato>
        </cliente>
    <Lst_clientes>
    ================

 

Esta tentando utilizar esse codigo, não consegui adaptar....

 

 

Set raiz = objXML.documentElement

'Response.write raiz.NodeName & "<br>" 'nome do node principal

    'Looping para percorrer todos os elementos filhos
    For i = 0 to raiz.childNodes.length -1

            '########### FILHOS paymentMethod ##############################
            if raiz.childNodes.item(i).nodename = "paymentMethod" then
                    set xmlRaiz = objXML.getElementsByTagName("paymentMethod")
                    for y = 0 to xmlRaiz.length - 1

                            str_paymentMethod_type = xmlRaiz.item(y).childNodes.item(0).text
                            str_paymentMethod_code = xmlRaiz.item(y).childNodes.item(1).text

                                response.write "<font color=red>"
                                response.write "Payment Method - " &xmlRaiz.item(y).childNodes.item(0).nodename &" : "& xmlRaiz.item(y).childNodes.item(0).text &"<br>"    'type
                                response.write "Payment Method - " &xmlRaiz.item(y).childNodes.item(1).nodename &" : "& xmlRaiz.item(y).childNodes.item(1).text &"<br>"    'code
                                response.write "</font>"
                    next
                    set xmlRaiz = nothing
            '########### FILHOS #####################
 


           '########### filho "item" (NETOS items) #########################
            elseif raiz.childNodes.item(i).nodename = "items" then
                    set xmlRaiz2 = objXML.getElementsByTagName("item")
                    for z = 0 to xmlRaiz2.length - 1

                            str_items_item_id = xmlRaiz2.item(z).childNodes.item(0).text
                            str_items_item_description = xmlRaiz2.item(z).childNodes.item(1).text
                            str_items_item_count = xmlRaiz2.item(z).childNodes.item(2).text
                            str_items_item_amount = xmlRaiz2.item(z).childNodes.item(3).text

                                    response.write "<font color=red>"
                                    response.write xmlRaiz2.item(z).childNodes.item(0).nodename &" : "& xmlRaiz2.item(z).childNodes.item(0).text &"<br>"    'id
                                    response.write xmlRaiz2.item(z).childNodes.item(1).nodename &" : "& xmlRaiz2.item(z).childNodes.item(1).text &"<br>"    'description
                                    response.write xmlRaiz2.item(z).childNodes.item(2).nodename &" : "& xmlRaiz2.item(z).childNodes.item(2).text &"<br>"    'count
                                    response.write xmlRaiz2.item(z).childNodes.item(3).nodename &" : "& xmlRaiz2.item(z).childNodes.item(3).text &"<br>"    'amount
                                    response.write "</font>"
                    next
                    set xmlRaiz = nothing
            '########### filho item (NETOS items) ########################

 

Poderiam me ajudar? 

 

Desde já agradeço

 







Veja alguns posts relacionados com: ASP

0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq