예제 #1
0
        public static ResAcc <string> TransformarXml(string sXml, string sXsl)
        {
            var Res = new ResAcc <string>(true);

            var                  oTexto   = new StringWriterMod(Encoding.UTF8);
            var                  oXml     = XmlWriter.Create(oTexto, FacturaXml.ConfigXml);
            XmlReader            oXsl     = XmlReader.Create(new StringReader(sXsl));
            XmlReader            oFactura = XmlReader.Create(new StringReader(sXml));
            XslCompiledTransform TransXsl = new XslCompiledTransform();
            string               sXmlRes  = "";

            try
            {
                TransXsl.Load(oXsl);
                TransXsl.Transform(oFactura, oXml);
                sXmlRes = oTexto.ToString();
            }
            catch (Exception e)
            {
                Res.Exito    = false;
                Res.Mensaje  = "Error en transformación de Xml\n\n";
                Res.Mensaje += (e.InnerException == null ? e.Message : e.InnerException.Message);
            }
            oXsl.Close();
            oFactura.Close();
            oXml.Close();
            oTexto.Close();

            Res.Respuesta = sXmlRes;
            return(Res);
        }
예제 #2
0
        public static ResAcc <string> GenerarXmlDeObjeto(object Objeto)
        {
            var oTexto = new StringWriterMod(Encoding.UTF8);
            var oXml   = XmlWriter.Create(oTexto, FacturaXml.ConfigXml);
            var oSer   = new XmlSerializer(Objeto.GetType());

            oSer.Serialize(oXml, Objeto);
            string sXml = oTexto.ToString();

            oXml.Close();
            oTexto.Close();

            return(new ResAcc <string>(true)
            {
                Respuesta = sXml
            });
        }
예제 #3
0
        public static ResAcc<string> GenerarXmlDeObjeto(object Objeto)
        {
            var oTexto = new StringWriterMod(Encoding.UTF8);
            var oXml = XmlWriter.Create(oTexto, FacturaXml.ConfigXml);
            var oSer = new XmlSerializer(Objeto.GetType());
            oSer.Serialize(oXml, Objeto);
            string sXml = oTexto.ToString();
            oXml.Close();
            oTexto.Close();

            return new ResAcc<string>(true) { Respuesta = sXml };
        }
예제 #4
0
        public static ResAcc<string> TransformarXml(string sXml, string sXsl)
        {
            var Res = new ResAcc<string>(true);

            var oTexto = new StringWriterMod(Encoding.UTF8);
            var oXml = XmlWriter.Create(oTexto, FacturaXml.ConfigXml);
            XmlReader oXsl = XmlReader.Create(new StringReader(sXsl));
            XmlReader oFactura = XmlReader.Create(new StringReader(sXml));
            XslCompiledTransform TransXsl = new XslCompiledTransform();
            string sXmlRes = "";
            try
            {
                TransXsl.Load(oXsl);
                TransXsl.Transform(oFactura, oXml);
                sXmlRes = oTexto.ToString();
            }
            catch (Exception e)
            {
                Res.Exito = false;
                Res.Mensaje = "Error en transformación de Xml\n\n";
                Res.Mensaje += (e.InnerException == null ? e.Message : e.InnerException.Message);
            }
            oXsl.Close();
            oFactura.Close();
            oXml.Close();
            oTexto.Close();

            Res.Respuesta = sXmlRes;
            return Res;
        }