Ir para conteúdo

POWERED BY:

Arquivado

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

David Borges

[Resolvido] Lex XML Complexo e com Loops indeterminados

Recommended Posts

Galera, estou precisando ler um XML complexo.

 

A primeira parte do XML é tranquilo, estou conseguindo resgatar, mas quando o XML entra nos Loops das Ocorrências, não consigo resgatar dado nenhum.

 

Estou procurando artigos na net sobre esse assunto, mas são todos básicos.

 

Alguém tem um caminho para eu seguir?

 

Olhem o XML que está retornando via Webservice.

 

This XML file does not appear to have any style information associated with it. The document tree is shown below.
<SERASAConsultaDetalhada xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="ConsultaCPF">
<Documento>00027562000</Documento>
<Nome>ELZIRA SCHERER DE SOUZA</Nome>
<NomeMae>ALZIRA DE SOUZA</NomeMae>
<DataNasc>14/01/1978</DataNasc>
<SituacaoDocumento>ATIVA</SituacaoDocumento>
<TotalOcorrencias>5</TotalOcorrencias>
<Pendencias>
<xs:schema xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="NewDataSet">
<xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="AlertaDocumentos">
<xs:complexType>
<xs:sequence>
<xs:element name="Item" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="1" type="xs:int"/>
<xs:element name="TotalMensagens" type="xs:int" minOccurs="0"/>
<xs:element name="Mensagem" type="xs:string" minOccurs="0"/>
<xs:element name="DDD1" type="xs:string" minOccurs="0"/>
<xs:element name="Fone1" type="xs:string" minOccurs="0"/>
<xs:element name="DDD2" type="xs:string" minOccurs="0"/>
<xs:element name="Fone2" type="xs:string" minOccurs="0"/>
<xs:element name="DDD3" type="xs:string" minOccurs="0"/>
<xs:element name="Fone3" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PendenciasFinanceiras">
<xs:complexType>
<xs:sequence>
<xs:element name="Item" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="1" type="xs:int"/>
<xs:element name="DataOcorrencia" type="xs:string" minOccurs="0"/>
<xs:element name="Modalidade" type="xs:string" minOccurs="0"/>
<xs:element name="Avalista" type="xs:string" minOccurs="0"/>
<xs:element name="Valor" type="xs:string" minOccurs="0"/>
<xs:element name="Contrato" type="xs:string" minOccurs="0"/>
<xs:element name="Origem" type="xs:string" minOccurs="0"/>
<xs:element name="Sigla" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PendenciasVarejo">
<xs:complexType>
<xs:sequence>
<xs:element name="Item" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="1" type="xs:int"/>
<xs:element name="CodigoCompensacaoBanco" type="xs:string" minOccurs="0"/>
<xs:element name="NumeroAgencia" type="xs:string" minOccurs="0"/>
<xs:element name="OrigemOcorrencia" type="xs:string" minOccurs="0"/>
<xs:element name="Sigla" type="xs:string" minOccurs="0"/>
<xs:element name="NumeroLojaFilial" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PendenciasBACEN">
<xs:complexType>
<xs:sequence>
<xs:element name="Item" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="1" type="xs:int"/>
<xs:element name="TotalChequesSemFundo" type="xs:string" minOccurs="0"/>
<xs:element name="DataOcorrenciaAntiga" type="xs:string" minOccurs="0"/>
<xs:element name="DataOcorrenciaRecente" type="xs:string" minOccurs="0"/>
<xs:element name="CodigoCompensacao" type="xs:string" minOccurs="0"/>
<xs:element name="NumeroAgencia" type="xs:string" minOccurs="0"/>
<xs:element name="NomeFantasiaBanco" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
<xs:unique name="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//AlertaDocumentos"/>
<xs:field xpath="Item"/>
</xs:unique>
<xs:unique name="PendenciasFinanceiras_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//PendenciasFinanceiras"/>
<xs:field xpath="Item"/>
</xs:unique>
<xs:unique name="PendenciasVarejo_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//PendenciasVarejo"/>
<xs:field xpath="Item"/>
</xs:unique>
<xs:unique name="PendenciasBACEN_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//PendenciasBACEN"/>
<xs:field xpath="Item"/>
</xs:unique>
</xs:element>
</xs:schema>
<diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
<NewDataSet xmlns="">
<PendenciasFinanceiras diffgr:id="PendenciasFinanceiras1" msdata:rowOrder="0" diffgr:hasChanges="inserted">
<Item>1</Item>
<DataOcorrencia>01/05/2010</DataOcorrencia>
<Modalidade>FINANCIAMENTO</Modalidade>
<Avalista>NAO</Avalista>
<Valor>6.666,66</Valor>
<Contrato>46546546565</Contrato>
<Origem>SERASA XPTO</Origem>
<Sigla>SPO</Sigla>
</PendenciasFinanceiras>
<PendenciasFinanceiras diffgr:id="PendenciasFinanceiras2" msdata:rowOrder="1" diffgr:hasChanges="inserted">
<Item>2</Item>
<DataOcorrencia>01/04/2010</DataOcorrencia>
<Modalidade>DUPLICATA</Modalidade>
<Avalista>NAO</Avalista>
<Valor>5.555,55</Valor>
<Contrato>21321321</Contrato>
<Origem>SERASA XPTO</Origem>
<Sigla>SPO</Sigla>
</PendenciasFinanceiras>
<PendenciasFinanceiras diffgr:id="PendenciasFinanceiras3" msdata:rowOrder="2" diffgr:hasChanges="inserted">
<Item>3</Item>
<DataOcorrencia>01/03/2010</DataOcorrencia>
<Modalidade>DUPLICATA</Modalidade>
<Avalista>NAO</Avalista>
<Valor>6.546,54</Valor>
<Contrato>3131321</Contrato>
<Origem>SERASA XPTO</Origem>
<Sigla>SPO</Sigla>
</PendenciasFinanceiras>
<PendenciasFinanceiras diffgr:id="PendenciasFinanceiras4" msdata:rowOrder="3" diffgr:hasChanges="inserted">
<Item>4</Item>
<DataOcorrencia>01/02/2010</DataOcorrencia>
<Modalidade>FINANCIAMENTO</Modalidade>
<Avalista>NAO</Avalista>
<Valor>77.777,77</Valor>
<Contrato>45454545454</Contrato>
<Origem>SERASA XPTO</Origem>
<Sigla>SPO</Sigla>
</PendenciasFinanceiras>
<PendenciasFinanceiras diffgr:id="PendenciasFinanceiras5" msdata:rowOrder="4" diffgr:hasChanges="inserted">
<Item>5</Item>
<DataOcorrencia>01/01/2010</DataOcorrencia>
<Modalidade>DUPLICATA</Modalidade>
<Avalista>NAO</Avalista>
<Valor>8.888,88</Valor>
<Contrato>21212121</Contrato>
<Origem>SERASA XPTO</Origem>
<Sigla>SPO</Sigla>
</PendenciasFinanceiras>
</NewDataSet>
</diffgr:diffgram>
</Pendencias>
<Mensagem>COM RESTRICOES</Mensagem>
<Status>true</Status>
</SERASAConsultaDetalhada>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que bom que resolveu, e se quiser postar a solução, fica de referência para outros usuários com a mesma dúvida.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poxa, claro!

 

Segue o loop.

 

 

'LENDO UM NÓ ESPECÍFICO E SEU CONTEÚDO
Set objLst = objXML.getElementsByTagName("NomeDoNo")
For i = 0 To objLst.Length - 1 
Set subLst = objLst.item(i)
Response.Write subLst.childNodes(0).Text & "<br/>"
Response.Write subLst.childNodes(1).Text & "<br/>"
Next 

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.