Buenas tardes! A través del presente requiero de su valioso apoyo para saber como utilizar la Referencia XML V6.0 Ya que el siguiente código me funciona correctamente con la versión 3.0, y me gustaría saber como actualizar para que funcione de la misma manera.
Codigo XML v3.0
Option Explicit
'Variables de Lectura de archivos XML
Private DocumentoXML As MSXML2.DOMDocument
Private ListaNodos As MSXML2.IXMLDOMNodeList
Private Nodo As MSXML2.IXMLDOMNode
Function CargaXML(RutaXML As String)
Set DocumentoXML = New DOMDocument
DocumentoXML.Load (RutaXML)
End Function
Function Comprobante(Ruta As String, Dato As String)
CargarXML (Ruta)
Set ListaNodos = DocumentoXML.SelectNodes("/cfdi:Comprobante")
For Each Nodo In ListaNodos
Comprobante = Nodo.Attributes.getNamedItem(Dato).Text
Next Nodo
End Function
Codigo XML v6.0
Option Explicit
Private DocumentoXML As MSXML2.DOMDocument60
Private ListaNodos As MSXML2.IXMLDOMNodeList
Private Nodo As MSXML2.IXMLDOMNode
Public Ruta As String
Function CargarXML(Ruta As String)
Set DocumentoXML = New MSXML2.DOMDocument60
DocumentoXML.Load (Ruta)
End Function
Function Comprobante(Ruta As String, Dato As String)
CargarXML (Ruta)
Set ListaNodos = DocumentoXML.SelectNodes("/cfdi:Comprobante")
' ListaNodos(1).SelectSingleNode(Dato).Text
For Each Nodo In ListaNodos
Comprobante = Nodo.Attributes.getNamedItem(Dato).Text
Next Nodo
End Function
por su atención valioso apoyo y respuesta muchas gracias.
Buenas tardes!
A través del presente requiero de su valioso apoyo para saber como utilizar la Referencia XML V6.0 Ya que el siguiente código me funciona correctamente con la versión 3.0, y me gustaría saber como actualizar para que funcione de la misma manera.
Codigo XML v3.0
Option Explicit 'Variables de Lectura de archivos XML Private DocumentoXML As MSXML2.DOMDocument Private ListaNodos As MSXML2.IXMLDOMNodeList Private Nodo As MSXML2.IXMLDOMNode Function CargaXML(RutaXML As String) Set DocumentoXML = New DOMDocument DocumentoXML.Load (RutaXML) End Function Function Comprobante(Ruta As String, Dato As String) CargarXML (Ruta) Set ListaNodos = DocumentoXML.SelectNodes("/cfdi:Comprobante") For Each Nodo In ListaNodos Comprobante = Nodo.Attributes.getNamedItem(Dato).Text Next Nodo End Function
Codigo XML v6.0
Option Explicit Private DocumentoXML As MSXML2.DOMDocument60 Private ListaNodos As MSXML2.IXMLDOMNodeList Private Nodo As MSXML2.IXMLDOMNode Public Ruta As String Function CargarXML(Ruta As String) Set DocumentoXML = New MSXML2.DOMDocument60 DocumentoXML.Load (Ruta) End Function Function Comprobante(Ruta As String, Dato As String) CargarXML (Ruta) Set ListaNodos = DocumentoXML.SelectNodes("/cfdi:Comprobante") ' ListaNodos(1).SelectSingleNode(Dato).Text For Each Nodo In ListaNodos Comprobante = Nodo.Attributes.getNamedItem(Dato).Text Next Nodo End Function
por su atención valioso apoyo y respuesta muchas gracias.
Adjunto archivos para pruebas
Importar XML version 3 y 6.xlsm
4660375.xml
4723915.xml
4736042.xml
Factura.xml