Ver Mensaje Individual
  #4 (permalink)  
Antiguo 10/12/2010, 11:46
Oscargf
 
Fecha de Ingreso: junio-2010
Mensajes: 23
Antigüedad: 9 años, 5 meses
Puntos: 1
Respuesta: Crear XML para factura electronica

Cita:
Iniciado por wwwmaster Ver Mensaje
Yo coloque el Schemalocation con esto:


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

Dim atributo_schemaLocation As XmlAttribute = Doc.CreateAttribute("xsi:schemaLocation", "http://www.w3.org/2001/XMLSchema-instance")
atributo_schemaLocation.Value = "http://www.sat.gob.mx/cfd/2 http://www.sat.gob.mx/sitio_internet/cfd/2/cfdv2.xsd"
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é?