Skip to content

Instantly share code, notes, and snippets.

@eserna27
Created June 25, 2020 22:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save eserna27/de50f90c6376b9f0614a69335a3758a9 to your computer and use it in GitHub Desktop.
Save eserna27/de50f90c6376b9f0614a69335a3758a9 to your computer and use it in GitHub Desktop.
xml = '<?xml version="1.0" encoding="UTF-8"?>
<retenciones:Retenciones xmlns:retenciones="http://www.sat.gob.mx/esquemas/retencionpago/1" xmlns:c_retenciones="http://www.sat.gob.mx/esquemas/retencionpago/1/catalogos" xmlns:intereses="http://www.sat.gob.mx/esquemas/retencionpago/1/intereses" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sat.gob.mx/esquemas/retencionpago/1 http://www.sat.gob.mx/esquemas/retencionpago/1/retencionpagov1.xsd http://www.sat.gob.mx/esquemas/retencionpago/1/intereses http://www.sat.gob.mx/esquemas/retencionpago/1/intereses/intereses.xsd" Version="1.0" FolioInt="5-56-9" FechaExp="2020-06-25T11:58:08-05:00" CveRetenc="16" DescRetenc="0.00" Cert="MIIDhDCCAmygAwIBAgIUMjAwMDEwMDAwMDAzMDAwMjI4MjMwDQYJKoZIhvcNAQEFBQAwSzEVMBMGA1UEAwwMQS5DLiBQcnVlYmFzMRAwDgYDVQQKDAdQcnVlYmFzMQswCQYDVQQGEwJNWDETMBEGA1UEBwwKQ3VhdWh0ZW1vYzAeFw0xNzA0MjgxODMwMzZaFw0yMjEwMTkxODMwMzZaMIGQMRswGQYDVQQDDBJQYWJsbyBOZXJ1ZGEgUGVyZXoxGzAZBgNVBCkMElBhYmxvIE5lcnVkYSBQZXJlejEbMBkGA1UECgwSUGFibG8gTmVydWRhIFBlcmV6MSUwIwYDVQQtDBxURVNUMDEwMjAzMDAxIC8gVEVTVDEwMzE3QTQ2MRAwDgYDVQQLDAdDRU5UUkFMMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4S8y29PfV6zBib8HEx/SK2XaUBeAb5YZbL+MHjX4K710kFdskgYhX35N0StfN5wbHLIsnj0eLtIk7gjXmaAjF6PkM9jtRtUrWgS22lcah0K7ws+nqfhNFuPX9rfm8SXzkBFDjUiBmW0U0Lz3cT/fEoJiqMxTwgJyhpuQ3vIcrv85cUaNpnf85eSCWVXGFmXpZD7EgXKLQulD1OOQbqcBPF6sK0wlz27HeQsM0X+2rO+RJvWAsHqIT4z0Sct4FFzj3XjGiF+DK8KxbQOmWpTnOSw0k9oKHmrFG3c1GxxyhvHoz+RurZFWPwuCWAzaUDhwq3uB6dtP7foeEjUUFlRD/wIDAQABoxowGDAJBgNVHRMEAjAAMAsGA1UdDwQEAwIGwDANBgkqhkiG9w0BAQUFAAOCAQEAl/4v3mCKfiwvPqmtFOnQ5HomJQq5W351gC5vKwP4vDKSdFDsvKtU5UMET6AnN6zHdI13AIZiOQQ8t1yv8RByMQ8dSHaoWaBkR0thzbK+Uol91Rp/TffNfneESAqvfBWKwXBTxGIxTNkJl5XXG5SyChRIan2sXvrSEGmfqxzzf3X5QFeQstRw80RbUWS21PGSgC9LMGkQVd76wqujP6P/QPjbYes5PD3xV0+6vbm3Q2NGj24s42I4Op2UEX+QjkTMd2o6FY2ek1zzcVjCyN2eNRgb/OKDjfiA/tyJ0HV1JxW3nc7BgIpRuHRI63NLWzIxe8233LgIf+y1oypT2W/o9Q==" NumCert="20001000000300022823" Sello="ve3w6ik8fgPDCWhLn6Q/IHn/d7eet/Wy5fCK0za0GQEd3u1ovXLXrA93YICqsj3dXsWt3FLnTwpFEC5PjXx/hUKX9ek5+uoeZN2kTTlekVywCg7bqayzJ5kiI+LzIytRs1nvhVDlrPFfhcuSIEcIWvwX/lavpNGJaBt8Cx5tZ2RXoH15dj4zdJNU/ZfzsAmkiPPuJJ05nqllcIvn7DMLcskWzo0yQrH3kQHUTmdcLHxXiHcXAGhX7WL1LqScaN12oSbSnotXocoZyArH/rj8iL6PQg8xFQkQy3eksSezNtSxthT/C2jDxdy4gOQ4NhkckHLbFDsuiG/XpCT1tT2cUQ==">
<retenciones:Emisor RFCEmisor="TES030201001"/>
<retenciones:Receptor Nacionalidad="Nacional">
<retenciones:Nacional RFCRecep="SESE9107278L1"/>
</retenciones:Receptor>
<retenciones:Periodo MesIni="1" MesFin="1" Ejerc="2020"/>
<retenciones:Totales montoTotOperacion="1.0" montoTotGrav="1.0" montoTotExent="0" montoTotRet="0.0116">
<retenciones:ImpRetenidos Impuesto="01" montoRet="0.01" TipoPagoRet="Pago provisional"/>
<retenciones:ImpRetenidos Impuesto="02" montoRet="0.0016" TipoPagoRet="Pago provisional"/>
</retenciones:Totales>
<retenciones:Complemento>
<intereses:Intereses Version="1.0" SistFinanciero="NO" RetiroAORESRetInt="NO" OperFinancDerivad="NO" MontIntNominal="1.0" MontIntReal="-178.9080256296780897038732998200919743703219102961267" Perdida="178.9080256296780897038732998200919743703219102961267"/>
</retenciones:Complemento>
</retenciones:Retenciones>'
file = Tempfile.new("temp.zip")
File.open(file, "w:ASCII-8BIT") do |f|
gz = Zlib::GzipWriter.new(f)
gz.orig_name = "archivo.xml"
gz.write(xml)
gz.close
end
file.close
data = File.open(file).read
puts "encoded = Base64.encode64(data) = #{encoded = Base64.encode64(data)}"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment