none
XML + VBA Duplicidade de campo RRS feed

  • Pergunta

  • Prezados uma ajuda. 

    Tenho um banco de arquivos xml e extraio alguns campos do xml para a minha planilha excel. Porém tem um campo no xml que está com o mesmo nome ai não está dando para pegar  o valor. Vou exemplificar. 

    Set VeicNodes = oXMLFile.SelectNodes("/cteProc/CTe/infCte/vPrest/Comp/xNome/text()")

    <vPrest>

    <vTPrest>1938.41</vTPrest>

    <vRec>1938.41</vRec>

    <Comp><xNome>AD VALOREM</xNome><vComp>0.00</vComp></Comp>

    <Comp><xNome>SILO</xNome><vComp>1260.30</vComp></Comp>

    Quero pegar esse o <XNome > do segundo <Comp>

    Como faço? 

    Obrigado. 

    quarta-feira, 16 de março de 2016 14:05

Respostas

  • Você quer pegar um valor específico ou todos? Para pegar todos:

    Sub Main()
        Dim DOM As MSXML2.DOMDocument
        Dim iNode As MSXML2.IXMLDOMNode
        Dim Nodes As MSXML2.IXMLDOMNodeList
        
        Set DOM = CreateObject("MSXML2.DOMDocument")
        DOM.Load "c:\temp\1.xml"
        DOM.async = False
        
        Set Nodes = DOM.SelectNodes("/vPrest/Comp/xNome")
        For Each iNode In Nodes
            Debug.Print iNode.Text
        Next iNode
    End Sub
    


    http://www.ambienteoffice.com.br - http://www.clarian.com.br

    quarta-feira, 16 de março de 2016 19:10
    Moderador