Ver Mensaje Individual
  #6 (permalink)  
Antiguo 12/04/2011, 16:02
gerloxxx
 
Fecha de Ingreso: febrero-2011
Mensajes: 11
Antigüedad: 13 años, 10 meses
Puntos: 1
Respuesta: Crear XML para factura electronica

Cita:
Iniciado por Oscargf Ver Mensaje
Muy bien, gracias wwwmaster, ya vamos mucho mejor:

con el codigo
Código:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim version As System.Xml.XmlDeclaration
        version = doc.CreateXmlDeclaration("1.0", "utf-8", "")
        version.Encoding = "utf-8"
        doc.PreserveWhitespace = True
        doc.AppendChild(version)

        Nodo = doc.CreateNode(XmlNodeType.Element, "comprobante", "http://www.sat.gob.mx/cfd/2")

        Dim atributo_xmlnsxsi As XmlAttribute = doc.CreateAttribute("xmlns:xsi")
        atributo_xmlnsxsi.Value = "http://www.w3.org/2001/XMLSchema-instance"

        Dim atributo_implocal As XmlAttribute = doc.CreateAttribute("xmlns:implocal")
        atributo_implocal.Value = "http://www.sat.gob.mx/implocal"


        Dim atributo_schemaLocation As XmlAttribute = doc.CreateAttribute("xsi:schemaLocation")
        atributo_schemaLocation.Value = "http://www.sat.gob.mx/cfd/2 http://www.sat.gob.mx/sitio_internet/cfd/2/cfdv2.xsd http://www.sat.gob.mx/implocal http://www.sat.gob.mx/sitio_internet/cfd/implocal/implocal.xsd"

        Dim atributo_serie As XmlAttribute = doc.CreateAttribute("serie")
        atributo_serie.Value = "serieNo 123456789"

        doc.AppendChild(Nodo)
        doc.DocumentElement.SetAttributeNode(atributo_xmlnsxsi)

        doc.DocumentElement.SetAttributeNode(atributo_implocal)

        doc.DocumentElement.SetAttributeNode(atributo_schemaLocation)
        doc.DocumentElement.SetAttributeNode(atributo_serie)
me sale:

Código:
<?xml version="1.0" encoding="utf-8" ?> 
<comprobante xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:implocal="http://www.sat.gob.mx/implocal" schemaLocation="http://www.sat.gob.mx/cfd/2 http://www.sat.gob.mx/sitio_internet/cfd/2/cfdv2.xsd http://www.sat.gob.mx/implocal http://www.sat.gob.mx/sitio_internet/cfd/implocal/implocal.xsd" serie="serieNo 123456789" xmlns="http://www.sat.gob.mx/cfd/2" /> 
'
Lo que no consigo es poner el atributo xmlns="http://www.sat.gob.mx/cfd/2" en primer lugar, como aparece en las especificaciones del SAT, Con el xmltextwriter me salia bien, al principio. ¿alguien sabe porqué?
hola me surgio el siguiente problema, cuando creo el atributo xsi:schemaLocation, con el siguiente codigo:

XmlAttribute xsischemalocation = xmlDoc.CreateAttribute("xsi:schemaLocation");
xsischemalocation.Value = xsi_schemalocation;
xmlDoc.DocumentElement.SetAttributeNode(xsischemal ocation);

solo crea el atributo asi schemaLocation, sin el xsi:, a que se puede deber este problema? :(

ya habia preguntado esto por otro lado, pero veo que a ti te lo guarda igual y me preguntaba si lo resolviste?

saludos