Leer XML de CFDI en vb.net

La factura esta basada en XML, independiente del lenguaje de programacion todos debemos saber acerca de esta tecnologia
[[ FORO CERRADO DEBIDO A QUE YA LA INFORMACION YA NO ES VIGENTE ]]
cinder75
Mensajes: 3
Registrado: Lun Abr 11, 2016 12:14 am

Leer XML de CFDI en vb.net

Mensajepor cinder75 » Lun Abr 11, 2016 12:19 am

buenas noche a todos tengo un proyecto el cual consiste en tomar el xml de facturas ya timbradas para leerlas en vb.net y marcarlas como pagadas desde X carpeta
el maestro nos puso este proyecto como final y la verdad que no es mi campo :/ cualquier aporte se los agradeceria un millon gracias por su tiempo.

jggtz
Mensajes: 357
Registrado: Lun Oct 10, 2011 12:50 pm

Re: Leer XML de CFDI en vb.net

Mensajepor jggtz » Lun Abr 11, 2016 1:21 pm

Simplemente googlea "vb.net leer xml" y te van a aparecer algunos cientos de ligas sobre el tema

Toma en cuenta que el CFDI se lee como un archivo xml cualquiera..

cinder75
Mensajes: 3
Registrado: Lun Abr 11, 2016 12:14 am

Re: Leer XML de CFDI en vb.net

Mensajepor cinder75 » Mar Abr 12, 2016 12:16 am

creeme que lo he intentado XD

s3cr3to
Mensajes: 501
Registrado: Mar Dic 28, 2010 2:12 pm

Re: Leer XML de CFDI en vb.net

Mensajepor s3cr3to » Mar Abr 12, 2016 2:00 pm

Quizá si publicaras parte del código que te da problemas aquí alguien que sepa de VB podría darte algún tip.
Como fuiste honesto diciendo que es un proyecto escolar, lo correcto seria iluminarte en las fallas.

Edcoram
Mensajes: 205
Registrado: Sab Nov 03, 2012 12:48 pm

Re: Leer XML de CFDI en vb.net

Mensajepor Edcoram » Mar Abr 12, 2016 2:30 pm

Parte del código para leer un CFDI

Imports System.Xml

Public Class Emisor
Public rfc = String.Empty
Public razonSocial = String.Empty
Public calle = String.Empty
Public numeroExterior = String.Empty
Public numeroInterior = String.Empty
Public colonia = String.Empty
Public localidad = String.Empty
Public municipio = String.Empty
Public estado = String.Empty
Public pais = String.Empty
Public cp = String.Empty
Public telefono = String.Empty

End Class

Public Class DocumentoPDF

Public serie = String.Empty
Public folio = String.Empty
Public folioFiscalUUID = String.Empty
Public noSerieCertificadoSAT = String.Empty
Public noSerieCertificadoEmisor = String.Empty
Public fechaCertificacion = String.Empty
Public fechaEmisionCFDI = String.Empty
Public tipoDeComprobante = String.Empty
Public TipoCambio = String.Empty
Public NumCtaPago = String.Empty

End Class

#Region "Leer datos del archivo .xml"


Private Sub LeerArtributosXML(rutaXML)

xDoc = New XmlDocument()
xDoc.Load(rutaXML)
ObtenerNodoCfdiComprobante()
ObtenerNodoEmisor()
ObtenerNodoReceptor()
ObtenerNodoConceptos()
ObtenerNodoComplementoDigital()
ObtenerNodoImpuestos()

End Sub

Private Sub ObtenerNodoCfdiComprobante()
Dim valFloat As Single

If xDoc.GetElementsByTagName("cfdi:Comprobante") Is Nothing Then
Exit Sub
End If

Dim comprobante As XmlNodeList = xDoc.GetElementsByTagName("cfdi:Comprobante")

If CType(comprobante(0), XmlElement).GetAttribute("serie") <> Nothing Then
_templatePDF.serie = CType(comprobante(0), XmlElement).GetAttribute("serie")
End If

If CType(comprobante(0), XmlElement).GetAttribute("folio") <> Nothing Then
_templatePDF.folio = CType(comprobante(0), XmlElement).GetAttribute("folio")
End If

If CType(comprobante(0), XmlElement).GetAttribute("fecha") <> Nothing Then
_templatePDF.fechaEmisionCFDI = CType(comprobante(0), XmlElement).GetAttribute("fecha")
End If

...............


End Sub


Private Sub ObtenerNodoEmisor()

'Trabajamos con Emisor
If xDoc.GetElementsByTagName("cfdi:Emisor") Is Nothing Then
Exit Sub
End If
Dim emisor As XmlNodeList = xDoc.GetElementsByTagName("cfdi:Emisor")
_templatePDF.emisor.rfc = CType(emisor(0), XmlElement).GetAttribute("rfc")
_templatePDF.emisor.razonSocial = CType(emisor(0), XmlElement).GetAttribute("nombre")

If CType(emisor(0), XmlElement).GetElementsByTagName("cfdi:DomicilioFiscal") Is Nothing Then
Exit Sub
End If
On Error Resume Next
Dim domicilioFiscal As XmlNodeList = CType(emisor(0), XmlElement).GetElementsByTagName("cfdi:DomicilioFiscal")

_templatePDF.emisor.calle = CType(domicilioFiscal(0), XmlElement).GetAttribute("calle")

If CType(domicilioFiscal(0), XmlElement).GetAttribute("noExterior") <> Nothing Then
_templatePDF.emisor.numeroExterior = CType(domicilioFiscal(0), XmlElement).GetAttribute("noExterior")
End If

If CType(domicilioFiscal(0), XmlElement).GetAttribute("noInterior") <> Nothing Then
_templatePDF.emisor.numeroInterior = CType(domicilioFiscal(0), XmlElement).GetAttribute("noInterior")
End If

If CType(domicilioFiscal(0), XmlElement).GetAttribute("colonia") <> Nothing Then
_templatePDF.emisor.colonia = CType(domicilioFiscal(0), XmlElement).GetAttribute("colonia")
End If

.................

End Sub


#Region


Lo demás corre por tu cuenta, lo puedes guardar en una base de datos, para generar un reporte o pdf, etc.

Saludos.

cinder75
Mensajes: 3
Registrado: Lun Abr 11, 2016 12:14 am

Re: Leer XML de CFDI en vb.net

Mensajepor cinder75 » Mar Abr 12, 2016 9:16 pm

muchisimas gracias por tu ayuda bro


y s3cr3to si tienes rason solo que como soy un asco programando mi codigo da pena XD


Volver a “XML”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 7 invitados