Página 1 de 1

Ejemplo XML 3.2

Publicado: Dom May 20, 2012 12:14 am
por winol4
Hola,

Estoy comenzando con la facturacion, queria saber si tenian un ejemplo de XML en 3.2? Para saber si el XML que estoy generando esta bien, encontre este en el SAT ftp://ftp2.sat.gob.mx/asistencia_servic ... 0cfdv3.xml pero esta en 3.0 no se si sea igual la estrucutra y solo hayan cambiado algunos elementos.

Hasta ahora mi programa genera un XML asi:

Código: Seleccionar todo


<?xml version="1.0"?>
<Comprobante xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" version="3.2" fecha="0001-01-01T00:00:00" subTotal="0" total="0" tipoDeComprobante="ingreso" xmlns="http://www.sat.gob.mx/cfd/3">
  <Emisor>
    <DomicilioFiscal calle="Calle1" colonia="Colonia" municipio="municipio" estado="estado" pais="pais" codigoPostal="07000" />
  </Emisor>
</Comprobante>


Yo se que llevo muy poco, pero lo que me preocupa son los namespace y todas esas cosas, las propiedades y demas cosas las estoy haciendo con una clase de C# generada por el XSD.

Re: Ejemplo XML 3.2

Publicado: Dom May 20, 2012 10:51 am
por Dado
Busca aqui en el foro, hay "cientos" de ejemplos, busca en el foro de addendas, normalmente pido que publiquen el XML para asesorarlos.

Tambien te recomiendo descargar el validador ValidaCFD para que al momento de validar te vaya diciendo si va bien tu XML

Por cierto te falta el schemalocation

No haz considerado comprar alguna libreria comercial, como la que ofrezco en www.validacfd.com te ahorraria por lo menos 2 meses de trabajo incluyendo el manejo de certificados, llaves y sello digital

Re: Ejemplo XML 3.2

Publicado: Dom May 20, 2012 12:26 pm
por winol4
Pues despues de trabajar por unas horas logre esto:

Código: Seleccionar todo

<?xml version="1.0" encoding="utf-8"?>
<Comprobante xmlns:cfdi="www.sat.gob.mx/cfd/3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:schemaLocation="http://www.sat.gob.mx/cfd/3/cfdv32.xsd" version="3.2" fecha="0001-01-01T00:00:00" subTotal="0" total="0" tipoDeComprobante="ingreso" xmlns="http://www.sat.gob.mx/cfd/3">
  <Emisor rfc="DERH9145202V4">
    <DomicilioFiscal calle="Calle1" colonia="Colonia" municipio="municipio" estado="estado" pais="pais" codigoPostal="07000" />
    <RegimenFiscal Regimen="Peque" />
  </Emisor>
</Comprobante>


Pero como se puede ver el prefijo cfdi no aparece, y el schemaLocation tiene xmlns en lugar de xsi, lo estoy haciendo con este codigo:

Código: Seleccionar todo

XmlSerializerNamespaces xmlNameSpace = new XmlSerializerNamespaces();
xmlNameSpace.Add("xsi", "http://www.w3.org/2001/XMLSchema-instance");
xmlNameSpace.Add("schemaLocation", "http://www.sat.gob.mx/cfd/3/cfdv32.xsd");
xmlNamespace.Add("cfdi", "www.sat.gob.mx/cfd/3");
XmlTextWriter xmlTextWriter = new XmlTextWriter("c:\\temp\\pruebas.xml", Encoding.UTF8);
xmlTextWriter.Formatting = Formatting.Indented;
XmlSerializer xs = new XmlSerializer(typeof(Comprobante));
xs.Serialize(xmlTextWriter, comprobante, xmlNameSpace);
xmlTextWriter.Close();


Alguna sugerencia?

Re: Ejemplo XML 3.2

Publicado: Mié May 23, 2012 3:03 am
por xml??
Tengo esto como namespaces

Código: Seleccionar todo

<cfdi:Comprobante xsi:schemaLocation="http://www.sat.gob.mx/cfd/3 http://www.sat.gob.mx/sitio_internet/cfd/3/cfdv32.xsd" xmlns:cfdi="http://www*sat.gob.mx/cfd/3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="3.2"

Re: Ejemplo XML 3.2

Publicado: Jue May 24, 2012 2:46 pm
por jevangelista
yo hago asi la primera parte:

Código: Seleccionar todo

        Dim xml As New XmlTextWriter(strArchivo, System.Text.Encoding.UTF8)
        xml.Indentation = 2
        xml.QuoteChar = Chr(34)
        xml.Formatting = Formatting.Indented
        xml.WriteStartDocument()
        xml.WriteStartElement("cfdi", "Comprobante", "cfdi")
        xml.WriteAttributeString("xmlns", "cfdi", Nothing, "http://www.sat.gob.mx/cfd/3")
        xml.WriteAttributeString("xmlns", "xsi", Nothing, "http://www.w3.org/2001/XMLSchema-instance")
        xml.WriteAttributeString("xsi", "schemaLocation", Nothing, "http://www.sat.gob.mx/cfd/3 http://www.sat.gob.mx/sitio_internet/cfd/3/cfdv32.xsd")
        xml.WriteAttributeString("version", Nothing, "3.2")
        xml.WriteAttributeString("serie", Nothing, strSerie)
        xml.WriteAttributeString("folio", Nothing, Format(intFolio))


Espero te sirva