Ver Mensaje Individual
  #16  
Antiguo 17-04-2010
Avatar de nuk3zito
nuk3zito nuk3zito is offline
Miembro
 
Registrado: ago 2003
Ubicación: "Z" Land
Posts: 244
Reputación: 21
nuk3zito Va por buen camino
Thumbs up Cadena Original

Que tal uamero, me llama la atención la manera en que generas la cadena original. Mira, con C# la genero con la siguiente función:

Código:
        public string GeneraCadenaOriginal(string nombreArchivo)
        {
            string cadenaOriginal = "";
            string fileXSLT = System.IO.Path.Combine(Directory.GetCurrentDirectory(), "cadenaoriginal_2_0.xslt"); // @"http://www.sat.gob.mx/sitio_internet/cfd/2/cadenaoriginal_2_0/cadenaoriginal_2_0.xslt";
            string newFile = System.IO.Path.GetTempFileName();

            try
            {
                XslCompiledTransform xsl = new XslCompiledTransform();
                xsl.Load(fileXSLT);
                xsl.Transform(nombreArchivo, newFile);
                xsl = null;

                StreamReader streamReader = new StreamReader(newFile);
                cadenaOriginal = streamReader.ReadToEnd();
                streamReader.Close();
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                // Eliminamos el archivo
                System.IO.File.Delete(newFile);
            }

            return cadenaOriginal;
        }
Traduciendo lo anterior, tanto en los ejemplos de la corona, lo que exige hacienda y otras soluciones para CFD's, la cadena original se obtiene de la transformación de tu archivo XML con un XLST (el que contiene las reglas de transformación) o de la generación manual de ésta. Veo que optaste por la generación manual.

Bueno, la pregunta es ¿de puritita casualidad no has encontrado algo acerca de como transformar el XML en la cadena original utilizando el archivo XSLT para ello?

Por cierto, lo que expones acerca de como el componente TXMLDcument te genera las entidades ya lo comprobé y si que te saca de apurototote.

Aún así me gustaría encontrar la manera de generar la cadena original con una transformación
¿Alguien sabe como hacer esta transformación?

Saludos y excelente trabajo uamero.
__________________
Tiempo y ocasión acontecen a todos!
Responder Con Cita