Ver Mensaje Individual
  #106 (permalink)  
Antiguo 19/08/2010, 13:59
kornneo
 
Fecha de Ingreso: agosto-2007
Mensajes: 25
Antigüedad: 17 años, 4 meses
Puntos: 0
Respuesta: Factura electroncia sat mexico

Cita:
Iniciado por polacp86 Ver Mensaje
Hola Kornneo:

Podrias poner un ejemplo mas claro del xml, es que la verdad no le entiendo muy bien porque apenas estoy empezando a conocer xml y la verdad estoy un poco desesperada porque necesito manejarlo para generar los comprobantes digitales
hola

tendrias que utilizar la clase XmlTextWriter

te pongo un ejemplo sencillo de como utilizarla en C#

Cita:

XlmCFD = new XmlTextWriter("cfd.xml", Encoding.GetEncoding("UTF-8"));
XlmCFD.WriteStartDocument();

XlmCFD.WriteStartElement("Comprobante");

AddAtribute("xmlns", "http://www.sat.gob.mx/cfd/2");
AddAtribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance");
AddAtribute("xsi:schemaLocation",
"http://www.sat.gob.mx/cfd/2 http://www.sat.gob.mx/sitio_internet/cfd/2/cfdv2.xsd");
AddAtribute("version", "2.0");
//etc...

XlmCFD.WriteStartElement("Emisor");

AddAtribute("rfc", tEmisor.Rows[0]["rfc"].ToString().Replace("-", "").Replace(" ", ""));
AddAtribute("nombre", CadenaValidaXml(tEmisor.Rows[0]["emp"].ToString()));

XlmCFD.WriteEndElement();

XlmCFD.WriteEndElement();

XlmCFD.WriteEndDocument();
XlmCFD.Flush();
XlmCFD.Close();
Ahi tengo una función "CadenaValidaXml" que lo que hace es recorrer el string y quitar espacios de mas en blanco y sobre todo el caracter pipe"|" ya que no se permite poner en la cadena original ("Esto sobre todo en los campos que el usuario tiene acceso")

con esto crearas el XML

y con el xml generado, crearas la cadena original como describí en mi anterior post..

bueno cualquier duda pues estamos para ayudarte.. :D

un saludo y espero si haya quedado claro