Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rmmtins

Ler varios niveis do XML

Recommended Posts

Preciso de uma ajuda, estou usando o codigo abaixo para ler os dados de um xml.

 

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) ########################

 

 

Codigo XML

 

<dto_mensalista>
<status>false</status>
<id>506</id>
<nome>TESTE</nome>
<tipo_documento>CPF</tipo_documento>
<cnpj_cpf>00000000000</cnpj_cpf>
<fone>2121088137</fone>
<email>EMAIL@GMAIL.COM</email>
<nro_cobranca>000000000000000</nro_cobranca>
<fonecom />
<fonecel>0000000000</fonecel>
<placa>AAA0000</placa>
<scm_contrato>
<dto_contrato>
<status>false</status>
<id>506</id>
<nro_contrato>506</nro_contrato>
<valor>00000</valor>
<qtde_vagas>1</qtde_vagas>
<descritivo>TESTE</descritivo>
<vigencia_inicio>2014-02-12T00:00:00</vigencia_inicio>
<vigencia_fim>2016-01-12T00:00:00</vigencia_fim>
<cativo>1</cativo>
<tb_usertag>
<dto_tb_usertag>
<Iissuer>290</Iissuer>
<Ltag>0000000</Ltag>
<Cplaca>AAA0000</Cplaca>
<Cdescricao>TESTE</Cdescricao>
</dto_tb_usertag>
</tb_usertag>
</dto_contrato>
</scm_contrato>
</dto_mensalista>
<dto_mensalista>
<status>false</status>
<id>511</id>
<nome>TESTE</nome>
<tipo_documento>CNPJ</tipo_documento>
<cnpj_cpf>00000000000000</cnpj_cpf>
<fone>0000000000</fone>
<email>EMAIL@HOTMAIL.COM</email>
<nro_cobranca>000000000000000</nro_cobranca>
<fonecom />
<fonecel>0000000000</fonecel>
<placa>AAA0000</placa>
<scm_contrato>
<dto_contrato>
<status>false</status>
<id>511</id>
<nro_contrato>511</nro_contrato>
<valor>12000</valor>
<qtde_vagas>1</qtde_vagas>
<descritivo>TESTE.</descritivo>
<vigencia_inicio>2014-02-12T00:00:00</vigencia_inicio>
<vigencia_fim>2016-01-09T00:00:00</vigencia_fim>
<cativo>1</cativo>
<tb_usertag>
<dto_tb_usertag>
<Iissuer>290</Iissuer>
<Ltag>0000000</Ltag>
<Cplaca>AAA0000</Cplaca>
<Cdescricao>TESTE</Cdescricao>
</dto_tb_usertag>
<dto_tb_usertag>
<Iissuer>290</Iissuer>
<Ltag>0000000</Ltag>
<Cplaca>AAA0000</Cplaca>
<Cdescricao>TESTE</Cdescricao>
</dto_tb_usertag>
<dto_tb_usertag>
<Iissuer>290</Iissuer>
<Ltag>0000000</Ltag>
<Cplaca>AAA0000</Cplaca>
<Cdescricao>TESTE</Cdescricao>
</dto_tb_usertag>
<dto_tb_usertag>
<Iissuer>290</Iissuer>
<Ltag>0000000</Ltag>
<Cplaca>AAA0000</Cplaca>
<Cdescricao>TESTE</Cdescricao>
</dto_tb_usertag>
<dto_tb_usertag>
<Iissuer>290</Iissuer>
<Ltag>0000000</Ltag>
<Cplaca>AAA0000</Cplaca>
<Cdescricao>TESTE</Cdescricao>
</dto_tb_usertag>
<dto_tb_usertag>
<Iissuer>290</Iissuer>
<Ltag>0000000</Ltag>
<Cplaca>AAA0000</Cplaca>
<Cdescricao>TESTE</Cdescricao>
</dto_tb_usertag>
<dto_tb_usertag>
<Iissuer>290</Iissuer>
<Ltag>0000000</Ltag>
<Cplaca>AAA0000</Cplaca>
<Cdescricao>TESTE</Cdescricao>
</dto_tb_usertag>
</tb_usertag>
</dto_contrato>
</scm_contrato>
</dto_mensalista>
Precisava de todas as informações da TAG DTO_MENSALISTA e todos os filhos e netos.
Desde já agradeço.

Até consigo pegar os dados, mas não consigo agrupar em blocos exemplo,

 

gostaria de pegar todas as tag dto_tb_usertag associado ao bloco dto_mensalista.

 

não sei se consegui me fazer entender......

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.