none
No puedo leer un campo xml usando LINQ RRS feed

  • Pregunta

  • Buenos dias disculpen tengo problemas para leer un campo de un archivo xml, el asunto es que este campo usa ":" en los nombres de campos y si lo pongo tal cual no me acepta la instruccion en visual.net, entonces lo omito y pongo:

    Dim cfdi As XElement = XElement.Load(TextBox2.Text)
            Dim comprovantes As IEnumerable(Of XElement) = cfdi.Elements
            For Each comprovante In comprovantes
                Label8.Text = "campo xml:" & comprovante.Element("cfdiDomicilioFiscal").Value
            Next comprovante

    pero me da un error de "referencia a objeto no establecida como instancia de un objeto"

    saben que me falta en mi codigo?

    martes, 17 de diciembre de 2013 15:46

Respuestas

Todas las respuestas

  • Hola,

    Podrías mostrar un ejemplo de tu xml?

    Gracias.


    Please remember to Vote & "Mark As Answer" if this post is helpful to you.
    Por favor, recuerda Votar y "Marcar como respuesta" si la solución de esta pregunta te ha sido útil.

    martes, 17 de diciembre de 2013 15:58
  • Hola,

    Podrías mostrar un ejemplo de tu xml?

    Gracias.


    Please remember to Vote & "Mark As Answer" if this post is helpful to you.
    Por favor, recuerda Votar y "Marcar como respuesta" si la solución de esta pregunta te ha sido útil.


    ok
    <?xml version="1.0" encoding="UTF-8"?>
    <cfdi:Comprobante xmlns:cfdi="http://www.dominio.com/cfd/3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:detallista="http://www.dominio.com/detallista" xmlns:implocal="http://www.dominio.com/implocal" xmlns:donat="http://www.dominio.com/donat" xsi:schemaLocation="http://www.dominio.com/cfd/3 http://www.dominio.com/sitio_internet/cfd/3/cfdv32.xsd http://www.dominio.com/implocal http://www.dominio.com/sitio_internet/cfd/donat/donat11.xsd" version="3.2" serie="FI" folio="188" fecha="2013-11-15T08:49:34" sello="hKHXMWDPz0QuVybbEWE3+D9wnXjrGd7v+/AXGFtdfxRf2cn9rmM+mHQXSpadoAJV/MWkhEnSQD8jN+aT2eWPlKDnQeJYm1RYsYCFsojROHmnA2TasOgKLYthgftfhfthKQvc=" formaDePago="Pago en una sola exhibición" noCertificado="000011111111111" certificado="LETRASLETRASCADENAALLLLLAAAAARRRGGGAAADDDEEETTTEEXXXTTTTOOOOOOOshzST84LekL8hIzBLyqmpGJvqQOIdWKTpm9a78I6N1jmojPjH+ZmGqcyO7h8JWEWOMWdOA88RNcpEshz6Eztw9XKqwvdN9K96ofKSvearerYlv3T==" subTotal="5250.00" TipoCambio="1.000000" Moneda="Pesos" total="6090.00" tipoDeComprobante="ingreso" metodoDePago="Cheque/transferencia" LugarExpedicion="LUGAR, Mexico" NumCtaPago="0001"><cfdi:Emisor rfc="VALORRFC" nombre="FULANO PEREZ"><cfdi:DomicilioFiscal calle="NOMBRE CALLE" noExterior="5" colonia="LOS ANGELES" municipio="MUNICIPIO" estado="ESTADO" pais="México" codigoPostal="84235"></cfdi:DomicilioFiscal><cfdi:RegimenFiscal Regimen="Regimen de las personas fisicas con actividades "></cfdi:RegimenFiscal></cfdi:Emisor><cfdi:Receptor rfc="VALORRFC" nombre="EMPRESA,S.A. DE C.V."><cfdi:Domicilio calle="CALLE 171" noExterior="123" colonia="COLONIA" referencia="055555555 Cel. FULANO@DOMINIO.com" municipio="MEXICO," estado="D.F.," pais="MEXICO" codigoPostal="01234"></cfdi:Domicilio></cfdi:Receptor><cfdi:Conceptos><cfdi:Concepto cantidad="1000.00" unidad="KG" descripcion="ARTICULO VENDIDO" valorUnitario="5.250000" importe="5250.00"></cfdi:Concepto></cfdi:Conceptos><cfdi:Impuestos totalImpuestosTrasladados="840.00"><cfdi:Traslados><cfdi:Traslado impuesto="IEPS" tasa="0.00" importe="0.00"></cfdi:Traslado><cfdi:Traslado impuesto="IVA" tasa="16.00" importe="840.00"></cfdi:Traslado></cfdi:Traslados></cfdi:Impuestos><cfdi:Complemento><tfd:TimbreFiscalDigital version="1.0" UUID="EYUIF45-D3B6-4D4A-8873-0362C1F97B71" FechaTimbrado="2013-11-08T08:50:35" selloCFD="hKHXMWDHWbLKFCADENADDDEEELLLEEETTRRAASjN+aT2eWPlKDnQeJYm1RYsYCFsojROHmnA2TasOgKLYt/NVn7kEJE8Olsxc+6F+CofyQabdN8zM=" xmlns:tfd="http://www.dominio.com/TimbreFiscalDigital" xsi:schemaLocation="http://www.dominio.com/TimbreFiscalDigital http://www.dominio.com/TimbreFiscalDigital/TimbreFiscalDigital.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/></cfdi:Complemento></cfdi:Comprobante>

    martes, 17 de diciembre de 2013 21:57
  • Hola,

    Como tu xml contiene namespaces, deberías hacer uso de XNamespace para declarar los xmlns definidos y poder así acceder mediante el prefijo correspondiente al elemento que desees.

    Aquí tienes un ejemplo:

    http://www.codeproject.com/Articles/30965/Read-XML-with-Namespace-resolution-using-XLinq-XEl

    Saludos.


    Please remember to Vote & "Mark As Answer" if this post is helpful to you.
    Por favor, recuerda Votar y "Marcar como respuesta" si la solución de esta pregunta te ha sido útil.

    miércoles, 18 de diciembre de 2013 9:00
  • Hola,

    Como tu xml contiene namespaces, deberías hacer uso de XNamespace para declarar los xmlns definidos y poder así acceder mediante el prefijo correspondiente al elemento que desees.

    Aquí tienes un ejemplo:

    http://www.codeproject.com/Articles/30965/Read-XML-with-Namespace-resolution-using-XLinq-XEl

    Saludos.


    Please remember to Vote & "Mark As Answer" if this post is helpful to you.
    Por favor, recuerda Votar y "Marcar como respuesta" si la solución de esta pregunta te ha sido útil.


    te agradesco el ejemplo solo tendré que traducirlo a visualbasic

    Notificacion en foro Microsoft

    domingo, 26 de enero de 2014 3:07