Foros del Web » Programando para Internet » ASPX (.net) »

¿ Como coloco el prefijo cfdi en cada uno de los nombres de nodos del XML ?

Estas en el tema de ¿ Como coloco el prefijo cfdi en cada uno de los nombres de nodos del XML ? en el foro de ASPX (.net) en Foros del Web. Que tal colegas : Mi pregunta es ¿¿¿ Como coloco el prefijo cfdi en cada uno de los nombres de nodos del XML ??? de ...
  #1 (permalink)  
Antiguo 05/05/2011, 10:00
 
Fecha de Ingreso: agosto-2010
Mensajes: 52
Antigüedad: 13 años, 8 meses
Puntos: 12
¿ Como coloco el prefijo cfdi en cada uno de los nombres de nodos del XML ?

Que tal colegas :

Mi pregunta es ¿¿¿ Como coloco el prefijo cfdi en cada uno de los nombres de nodos del XML ??? de tal forma que quede de la siguiente manera:
<cfdi:DomicilioFiscal ……

Les anexo parte del código en C# que desarrollé para generar el XML del CFD I
Lo unció que me falta es poner el prefijo cfdi a cada uno de los nodos

Me podrían explicar como realizarlo.

Gracias
Saludos
Halcón Divino
Monterrey, Nuevo Loén, México

#region Genera el XML
string ArchivoXML = dsDatos.Tables[0].Rows[0]["eRFC"].ToString().Trim() + "_" + dsDatos.Tables[0].Rows[0]["SerieReferente"].ToString().Trim() + "_" + dsDatos.Tables[0].Rows[0]["FolioReferente"].ToString().Trim() + ".XML";
XmlDeclaration CCDeclaracionXML;
XmlNode nCFDI;
XmlNode nEmisor;
XmlNode neDomicilio;
XmlNode nExpedido;
XmlNode nReceptor;
XmlNode nrDomicilio;
XmlNode nConceptos;
XmlNode nConcepto;
XmlNode nImpuestos;
XmlNode nRetenciones;
XmlNode nRetencion;
XmlNode nTrasladados;
XmlNode nTrasladado;

XmlDocument CCXml = new XmlDocument();
CCDeclaracionXML = CCXml.CreateXmlDeclaration("1.0", "UTF-8", "");

//Add the new node to the document.
XmlElement root = CCXml.DocumentElement;
CCXml.InsertBefore(CCDeclaracionXML, root);


#region Se define el nodo Comprobante
nCFDI = CCXml.CreateNode(XmlNodeType.Element, "Comprobante", "");

//Se le Agrega atributos al nodo Comprobante
AgregaAtributo("S", "C",ref CCXml, ref nCFDI, "xsi:schemaLocation","http://www.sat.gob.mx/cfd/3 cfdv3.xsd", "");
AgregaAtributo("S", "C",ref CCXml, ref nCFDI, "xmlns:cfdi" , "http://www.sat.gob.mx/cfd/3", "");
AgregaAtributo("S", "C",ref CCXml, ref nCFDI, "xmlns:xsi" , "http://www.w3.org/2001/XMLSchema-instance", "");
AgregaAtributo("S", "N",ref CCXml, ref nCFDI, "version" , "3.0", "");
AgregaAtributo("N", "C",ref CCXml, ref nCFDI, "serie" , dsDatos.Tables[0].Rows[0]["SerieReferente"].ToString(), "");
AgregaAtributo("N", "N",ref CCXml, ref nCFDI, "folio" , dsDatos.Tables[0].Rows[0]["FolioReferente"].ToString(), "");
AgregaAtributo("S", "D",ref CCXml, ref nCFDI, "fecha" , FormatYYYYMMDDTHHMMSS(dsDatos.Tables[0].Rows[0]["FechaHora"].ToString()), "");
AgregaAtributo("S", "C",ref CCXml, ref nCFDI, "formaDePago" , dsDatos.Tables[0].Rows[0]["FormaDePago"].ToString(), "");
AgregaAtributo("N", "C",ref CCXml, ref nCFDI, "condicionesDePago", dsDatos.Tables[0].Rows[0]["CondicionesDePago"].ToString(), "");
AgregaAtributo("S", "$",ref CCXml, ref nCFDI, "subTotal" , dsDatos.Tables[0].Rows[0]["Importe"].ToString(), "");
AgregaAtributo("N", "$",ref CCXml, ref nCFDI, "descuento" , dsDatos.Tables[0].Rows[0]["Descuento"].ToString(), "");
AgregaAtributo("N", "C",ref CCXml, ref nCFDI, "motivoDescuento" , dsDatos.Tables[0].Rows[0]["MotivoDescuento"].ToString(), "");
AgregaAtributo("N", "$",ref CCXml, ref nCFDI, "TipoCambio" , dsDatos.Tables[0].Rows[0]["Paridad"].ToString(), "");
AgregaAtributo("N", "C",ref CCXml, ref nCFDI, "Moneda" , dsDatos.Tables[0].Rows[0]["Moneda"].ToString(), "");
AgregaAtributo("S", "$",ref CCXml, ref nCFDI, "total" , dsDatos.Tables[0].Rows[0]["Total"].ToString(), "");
AgregaAtributo("N", "C",ref CCXml, ref nCFDI, "metodoDePago" , dsDatos.Tables[0].Rows[0]["MetodoDePago"].ToString(), "");
AgregaAtributo("S", "C",ref CCXml, ref nCFDI, "tipoDeComprobante", dsDatos.Tables[0].Rows[0]["TipoCFD"].ToString(), "");
AgregaAtributo("S", "C",ref CCXml, ref nCFDI, "sello" , SelloDigital, "");
AgregaAtributo("S", "N",ref CCXml, ref nCFDI, "noCertificado" , noCertificado, "");
AgregaAtributo("S", "C",ref CCXml, ref nCFDI, "certificado" , Certificado, "");

#region Se agrega el nodo EMISOR al nodo nCFDI
nEmisor = CCXml.CreateNode(XmlNodeType.Element, "Emisor", "");

AgregaAtributo("S","C",ref CCXml, ref nEmisor, "rfc" , dsDatos.Tables[0].Rows[0]["eRFC"].ToString(), "");
AgregaAtributo("S","C",ref CCXml, ref nEmisor, "nombre", dsDatos.Tables[0].Rows[0]["eNombre"].ToString(), "");

neDomicilio = CCXml.CreateNode(XmlNodeType.Element, "DomicilioFiscal", "");

AgregaAtributo("S","C",ref CCXml, ref neDomicilio, "calle" , dsDatos.Tables[0].Rows[0]["eDireccion"].ToString(), "");
AgregaAtributo("N","N",ref CCXml, ref neDomicilio, "noExterior" , dsDatos.Tables[0].Rows[0]["eNumero"].ToString(), "");
AgregaAtributo("N","C",ref CCXml, ref neDomicilio, "noInterior" , dsDatos.Tables[0].Rows[0]["eInterior"].ToString(), "");
AgregaAtributo("N","C",ref CCXml, ref neDomicilio, "colonia" , dsDatos.Tables[0].Rows[0]["eColonia"].ToString(), "");
AgregaAtributo("N","C",ref CCXml, ref neDomicilio, "localidad" , dsDatos.Tables[0].Rows[0]["eLocalidad"].ToString(), "");
AgregaAtributo("N","C",ref CCXml, ref neDomicilio, "referencia" , dsDatos.Tables[0].Rows[0]["eReferencia"].ToString(), "");
AgregaAtributo("S","C",ref CCXml, ref neDomicilio, "municipio" , dsDatos.Tables[0].Rows[0]["eMunicipio"].ToString(), "");
AgregaAtributo("S","C",ref CCXml, ref neDomicilio, "estado" , dsDatos.Tables[0].Rows[0]["eEstado"].ToString(), "");
AgregaAtributo("S","C",ref CCXml, ref neDomicilio, "pais" , dsDatos.Tables[0].Rows[0]["ePais"].ToString(), "");
AgregaAtributo("S","N",ref CCXml, ref neDomicilio, "codigoPostal", dsDatos.Tables[0].Rows[0]["eCP"].ToString(), "");

nEmisor.AppendChild(neDomicilio);

nExpedido = CCXml.CreateNode(XmlNodeType.Element, "ExpedidoEn", "");

AgregaAtributo("N","C",ref CCXml, ref nExpedido, "calle" , dsDatos.Tables[0].Rows[0]["xDireccion"].ToString(), "");
AgregaAtributo("N","N",ref CCXml, ref nExpedido, "noExterior" , dsDatos.Tables[0].Rows[0]["xNumero"].ToString(), "");
AgregaAtributo("N","C",ref CCXml, ref nExpedido, "noInterior" , dsDatos.Tables[0].Rows[0]["xInterior"].ToString(), "");
AgregaAtributo("N","C",ref CCXml, ref nExpedido, "colonia" , dsDatos.Tables[0].Rows[0]["xColonia"].ToString(), "");
AgregaAtributo("N","C",ref CCXml, ref nExpedido, "localidad" , dsDatos.Tables[0].Rows[0]["xLocalidad"].ToString(), "");
AgregaAtributo("N","C",ref CCXml, ref nExpedido, "municipio" , dsDatos.Tables[0].Rows[0]["xMunicipio"].ToString(), "");
AgregaAtributo("N","C",ref CCXml, ref nExpedido, "estado" , dsDatos.Tables[0].Rows[0]["xEstado"].ToString(), "");
AgregaAtributo("S","C",ref CCXml, ref nExpedido, "pais" , dsDatos.Tables[0].Rows[0]["xPais"].ToString(), "");
AgregaAtributo("N","N",ref CCXml, ref nExpedido, "codigoPostal", dsDatos.Tables[0].Rows[0]["xCP"].ToString(), "");

nEmisor.AppendChild(nExpedido);

nCFDI.AppendChild(nEmisor);
#endregion

#region Se agrega el nodo RECEPTOR al nodo nCFDI
nReceptor = CCXml.CreateNode(XmlNodeType.Element, "Receptor", "");

AgregaAtributo("S", "C", ref CCXml, ref nReceptor, "rfc", dsDatos.Tables[0].Rows[0]["rRFC"].ToString(), "www.sat.gob.mx/cfd/3");
AgregaAtributo("N","C",ref CCXml, ref nReceptor, "nombre", dsDatos.Tables[0].Rows[0]["rNombre"].ToString(), "");

nrDomicilio = CCXml.CreateNode(XmlNodeType.Element, "Domicilio", "");

nReceptor.AppendChild(nrDomicilio);

nCFDI.AppendChild(nReceptor);
#endregion

#region Se agrega el nodo CONCEPTOS al nodo nCFDI
nConceptos = CCXml.CreateNode(XmlNodeType.Element, "Conceptos", "");


nCFDI.AppendChild(nConceptos);
#endregion

#region Se agrega el nodo IMPUESTOS al nodo nCFDI
nImpuestos = CCXml.CreateNode(XmlNodeType.Element, "Impuestos", "");

//Se agrega el nodo Trasladados al nodo Impuesto
nTrasladados = CCXml.CreateNode(XmlNodeType.Element, "Traslados", "");

//Se agrega el nodo Retencion al nodo Retenciones
nTrasladado = CCXml.CreateNode(XmlNodeType.Element, "Traslado", "");
AgregaAtributo("S", "C", ref CCXml, ref nTrasladado, "impuesto" , dsDatos.Tables[0].Rows[0]["rLeyendaIVA"].ToString(), "");
AgregaAtributo("S", "$",ref CCXml, ref nTrasladado, "tasa" , dsDatos.Tables[0].Rows[0]["rTasaIVA"].ToString(), "");
AgregaAtributo("S", "$",ref CCXml, ref nTrasladado, "importe" , dsDatos.Tables[0].Rows[0]["rImpuestoIVA"].ToString(), "");
nTrasladados.AppendChild(nTrasladado);

nImpuestos.AppendChild(nTrasladados);


nCFDI.AppendChild(nImpuestos);
#endregion

//Se le Agrega al nodo Comprobante al XML
CCXml.AppendChild(nCFDI);
#endregion

CCXml.Save(RutaXML + ArchivoXML);
#endregion XML
  #2 (permalink)  
Antiguo 14/05/2011, 01:22
 
Fecha de Ingreso: noviembre-2002
Ubicación: DF
Mensajes: 1.056
Antigüedad: 21 años, 4 meses
Puntos: 37
Respuesta: ¿ Como coloco el prefijo cfdi en cada uno de los nombres de nodos del XML

Quiza te sirva esto:
http://www.forosdelweb.com/f29/crear...ronica-867285/

Sobre un problema de un prefijo del SchemaLocation similar al que comentas.
  #3 (permalink)  
Antiguo 14/05/2011, 13:57
 
Fecha de Ingreso: agosto-2010
Mensajes: 52
Antigüedad: 13 años, 8 meses
Puntos: 12
Respuesta: ¿ Como coloco el prefijo cfdi en cada uno de los nombres de nodos del XML

Cita:
Iniciado por wwwmaster Ver Mensaje
Quiza te sirva esto:
[url]http://www.forosdelweb.com/f29/crear-xml-para-factura-electronica-867285/[/url]

Sobre un problema de un prefijo del SchemaLocation similar al que comentas.
WwwMaster.
Antes que nada el problema de poner el prfijo cfdi a cad nodo lo resolvó as'i:

string NameSpace = "http://www.sat.gob.mx/cfd/3";
string Prefijo = "cfdi";
:::
:::
nCFDI = CCXml.CreateNode(XmlNodeType.Element, "Comprobante", NameSpace);
nCFDI.Prefix = Prefijo;
:::
:::

nEmisor = CCXml.CreateNode(XmlNodeType.Element, "Emisor", NameSpace);
nEmisor.Prefix = Prefijo;

:::
:::

Y en cuanto al prefijo xsi del atributo schemaLocation es un dolor de cabeza ya que he buscado por todos lados y no se me da la solución ...Le heché un vistaso al link que me recomiendas pero como que no concluyeron faborablemente la solución usando la tecnica de XmlDocument()

Más sin embargo pude timbrar el XML aún con la falta del prefijo xsi por lo que baje un poco la guardia en esta falla y le continue con la representación impresa. Tan pronto termine la representación impresa regreso a ver este famoso prefijo xsi que no se deja y con más calma lo solucióno.

Gracias por tus comentarios
Saludos
Halcón Divino.
  #4 (permalink)  
Antiguo 16/05/2011, 01:46
 
Fecha de Ingreso: noviembre-2002
Ubicación: DF
Mensajes: 1.056
Antigüedad: 21 años, 4 meses
Puntos: 37
Respuesta: ¿ Como coloco el prefijo cfdi en cada uno de los nombres de nodos del XML

Hola, lo del schema location a mi me funciono tal como lo postee en el codigo, quiza sea cosa de alterar el orden de agregado de las etiquetas, vi que en efecto, otros usuarios no pudieron colocarlo, pero como me funciono bien ya no le busque mas..
suerte.
  #5 (permalink)  
Antiguo 25/05/2011, 13:37
 
Fecha de Ingreso: febrero-2010
Mensajes: 4
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: ¿ Como coloco el prefijo cfdi en cada uno de los nombres de nodos del XML

gracias por el aporte, te mando el otro detalle


string xsi = "http://www.w3.org/2001/XMLSchema-instance";
cfd.SetAttribute("schemaLocation", xsi, @"http://www.sat.gob.mx/sitio_internet/cfd/3/cfdv3.xsd");


saludos!

Etiquetas: c#, cfdi, prefijo, xml, aspx
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 00:41.