Visual Basic.NET - AYUDA!!!. Leer Factura XML (cfdi:conceptos)

   
Vista:

AYUDA!!!. Leer Factura XML (cfdi:conceptos)

Publicado por angel montores (2 intervenciones) el 08/07/2016 09:44:42
Hola amigos, estoy atorado tratando de leer los CFDI:CONCEPTOS de varios xml. Son varias facturas (xml) que tengo que verificar que el valorUnitario sea el correcto segun el NoDescripcion. Pero tengo problema al tratar de contar cuantos conceptos contiene e iniciar un ciclo para leerlos.

1
2
3
4
5
6
7
8
9
<cfdi:Conceptos>
 
<cfdi:Concepto importe="646425.00" valorUnitario="13.00" descripcion="GLUCOSA SERICA Y PARA LIQUIDOS ORGANICOS UNIDAD : PRUEBAS<br>" noIdentificacion="a023" unidad="SR" cantidad="49725.0000"/>
<cfdi:Concepto importe="604825.00" valorUnitario="13.00" descripcion="UREA SERICA Y URINARIA UNIDAD : PRUEBAS<br>" noIdentificacion="b345" unidad="SR" cantidad="46525.0000"/>
<cfdi:Concepto importe="660725.00" valorUnitario="13.00" descripcion="CREATININA SERICA Y URINARIA. UNIDAD : PRUEBAS<br>" noIdentificacion="b234" unidad="SR" cantidad="50825.0000"/>
<cfdi:Concepto importe="476450.00" valorUnitario="13.00" descripcion="ACIDO URICO SERICA Y URINARIA. UNIDAD : PRUEBAS<br>" noIdentificacion="b178" unidad="SR" cantidad="36650.0000"/>
<cfdi:Concepto importe="438425.00" valorUnitario="13.00" descripcion="COLESTEROL PRUEBAS UNIDAD : PRUEBAS<br>" noIdentificacion="b084" unidad="SR" cantidad="33725.0000"/>
 
</cfdi:Conceptos>


Este es mi código donde no he podido contar cuantos conceptos son, y tampoco declarar el ciclo para extraer los datos.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Imports System.Xml
 
try
Dim mValorUnitario as Decimal
Dim mNoIdentificacion as String
Dim m_xmld As New System.Xml.XmlDocument
Dim m_nodelist As System.Xml.XmlNodeList
Dim m_node As System.Xml.XmlNode
m_xmld = New XmlDocument()
m_xmld.Load("C:\XML\invoice.xml")
m_nodelist = m_xmld.ChildNodes()
    For Each m_node In m_nodelist
      Dim mValorUnitario = m_node.Attributes.GetNamedItem("cfdi:conceptos").ChildNodes(0).Attributes.GetNamedItem("valorUnitario").Value
       Dim mNoIdentificacion = m_node.Attributes.GetNamedItem("cfdi:conceptos").ChildNodes(0).Attributes.GetNamedItem("noIdentificacion").Value
       'aquí insertaría un código para validar con la base de datos
  Next
Catch ex As Exception
End try


Les agradezco la ayuda de antemano. Saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

AYUDA!!!. Leer Factura XML (cfdi:conceptos)

Publicado por Angel MR (2 intervenciones) el 10/07/2016 09:21:48
Les comparto como puede resolver mi problema:
CODIGO VB


1
2
3
4
5
6
7
8
Dim nsCFDi As XNamespace = "http://www.sat.gob.mx/cfd/3" 'para que pueda identificar el prefijo CFDI
Dim archivoXML As XDocument = XDocument.Load("C:\XML\books.xml") 'selecciona y abre la factura electrónica xml
Dim importe As Integer = 0 'contador para saber cuantos conceptos tiene la factura
For Each lconcepto As XElement In archivoXML.Descendants(nsCFDi + "Comprobante").Elements(nsCFDi + "Conceptos").Elements() 'ciclo que recorre todos los conceptos de la factura
Dim Name As String = lconcepto.Attribute("descripcion").Value 'obtiene el valor de la descripción para darle tratamiento posterior
importe = importe + 1
Next
MsgBox(importe & " descripciones") 'imprime cuantos conceptos encontro 
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de xve

AYUDA!!!. Leer Factura XML (cfdi:conceptos)

Publicado por xve (88 intervenciones) el 10/07/2016 18:51:41
Gracias por compartirlo!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar