Espacio de tecnologia, software libre y sus derivados. Una horda de monos entrenados escriben de vez en cuando por aqui algunas noticias, opiniones e incluso alguna que otra cosa fuera del tema. Maqueros, favor de abstenerse que no somos lo suficientemente guapos.

Piano daemon

Sacarle la Cadena Original a un Comprobante Fiscal Digital

import java.util.*;
import java.io.*;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;

/**
 *
 * @author pianodaemon
 */

public class CadenaOrginalFromCFD{

	    private String nc_version;
	    private String nc_serie;
	    private String nc_folio;
	    private String nc_fecha;
	    private String nc_noAprobacion;
	    private String nc_anioAprobacion;
	    private String nc_tipoDeComprobante;
	    private String nc_formaDePago;
	    private String nc_condicionesDePago;
	    private String nc_subTotal;
	    private String nc_descuento;
	    private String nc_total;
	    private String ne_rfc;
	    private String ne_nombre;
	    private String df_calle;
	    private String df_noExterior;
	    private String df_noInterior;
	    private String df_colonia;
	    private String df_localidad;
	    private String df_referencia;
	    private String df_municipio;
	    private String df_estado;
	    private String df_pais;
	    private String df_codigoPostal;
	    private String ee_calle;
	    private String ee_noExterior;
	    private String ee_noInterior;
	    private String ee_colonia;
	    private String ee_localidad;
	    private String ee_referencia;
	    private String ee_municipio;
	    private String ee_estado;
	    private String ee_pais;
	    private String ee_codigoPostal;
	    private String nr_rfc;
	    private String nr_nombre;
	    private String nd_calle;
	    private String nd_noExterior;
	    private String nd_noInterior;
	    private String nd_colonia;
	    private String nd_localidad;
	    private String nd_referencia;
	    private String nd_municipio;
	    private String nd_estado;
	    private String nd_pais;
	    private String nd_codigoPostal;
	    private ArrayList concepto = new ArrayList();
	    private String nc_cantidad;
	    private String nc_unidad;
	    private String nc_noIdentificacion;
	    private String nc_descripcion;
	    private String nc_valorUnitario;
	    private String nc_importe;
	    private ArrayList retencion = new ArrayList();
	    private String nr_impuesto;
	    private String nr_importe;
	    private String totalImpuestosRetenidos;
	    private ArrayList traslado = new ArrayList();
	    private String nt_impuesto;
	    private String nt_tasa;
	    private String nt_importe;
	    private String totalImpuestosTrasladados;
	    private String cadenaOriginal;
	    private String nc_noCertificado;

	    public void leerxml(InputStream url){

	        try{
	            SAXParserFactory spf = SAXParserFactory.newInstance();
	            SAXParser sp = spf.newSAXParser();
	            sp.parse(url, new parsexml() );
	        }
	        catch(ParserConfigurationException e){
	            System.err.println("error de  parseo");
	        }
	        catch(SAXException e2){
	            System.err.println("error de  sax: " + e2.getStackTrace());
	        }
	        catch (IOException e3) {
	            System.err.println("error de  io: " + e3.getMessage() );
	        }
	    }

	    private class parsexml extends DefaultHandler {

	        public void startElement(String namespaceURI, String localName, String qName, Attributes atts)throws SAXException{

	            if ("Comprobante".equals(qName)) {
	                for(int i=0; i < atts.getLength(); i++){
	                    String valor = atts.getQName(i);
	                    if("anoAprobacion".equals(valor)){
	                            String nc_anioAprobacion = atts.getValue(i);
	                            set_nc_anioAprobacion(nc_anioAprobacion);
	                    }
	                    if("condicionesDePago".equals(valor)){
	                            String nc_condicionesDePago = atts.getValue(i);
	                            set_nc_condicionesDePago(nc_condicionesDePago);
	                    }
	                    if("descuento".equals(valor)){
	                            String nc_descuento = atts.getValue(i);
	                            set_nc_descuento(nc_descuento);
	                    }
	                    if("fecha".equals(valor)){
	                            String nc_fecha = atts.getValue(i);
	                            set_nc_fecha(nc_fecha);
	                    }
	                    if("folio".equals(valor)){
	                            String nc_folio = atts.getValue(i);
	                            set_nc_folio(nc_folio);
	                    }
	                    if("formaDePago".equals(valor)){
	                            String nc_formaDePago = atts.getValue(i);
	                            set_nc_formaDePago(nc_formaDePago);
	                    }
	                    if("noAprobacion".equals(valor)){
	                            String nc_noAprobacion = atts.getValue(i);
	                            set_nc_noAprobacion(nc_noAprobacion);
	                    }
	                    if("serie".equals(valor)){
	                            String nc_serie = atts.getValue(i);
	                            set_nc_serie(nc_serie);
	                    }
	                    if("subTotal".equals(valor)){
	                            String nc_subTotal = atts.getValue(i);
	                            set_nc_subTotal(nc_subTotal);
	                    }
	                    if("tipoDeComprobante".equals(valor)){
	                            String nc_tipoDeComprobante = atts.getValue(i);
	                            set_nc_tipoDeComprobante(nc_tipoDeComprobante);
	                    }
	                    if("total".equals(valor)){
	                            String nc_total = atts.getValue(i);
	                            set_nc_total(nc_total);
	                    }
	                    if("version".equals(valor)){
	                            String nc_version = atts.getValue(i);
	                            set_nc_version(nc_version);
	                    }

	                    if("noCertificado".equals(valor)){
                            set_nc_noCertificado(atts.getValue(i));
	                    }
	                }
	            }

	            if ("Emisor".equals(qName)) {
	                for(int i=0; i < atts.getLength();i++){
	                    String valor = atts.getQName(i);
	                    if("nombre".equals(valor)){
	                        String ne_nombre = atts.getValue(i);
	                        set_ne_nombre(ne_nombre);
	                    }
	                    if("rfc".equals(valor)){
	                        String ne_rfc = atts.getValue(i);
	                        set_ne_rfc(ne_rfc);
	                    }
	                }
	            }

	            if ("DomicilioFiscal".equals(qName)) {
	                for(int i=0; i < atts.getLength();i++){
	                    String valor = atts.getQName(i);
	                    if("calle".equals(valor)){
	                        String df_calle = atts.getValue(i);
	                        set_df_calle(df_calle);
	                    }
	                    if("codigoPostal".equals(valor)){
	                        String df_codigoPostal = atts.getValue(i);
	                        set_df_codigoPostal(df_codigoPostal);
	                    }
	                    if("colonia".equals(valor)){
	                        String df_colonia = atts.getValue(i);
	                        set_df_colonia(df_colonia);
	                    }
	                    if("estado".equals(valor)){
	                        String df_estado = atts.getValue(i);
	                        set_df_estado(df_estado);
	                    }
	                    if("localidad".equals(valor)){
	                        String df_localidad = atts.getValue(i);
	                        set_df_localidad(df_localidad);
	                    }
	                    if("municipio".equals(valor)){
	                        String df_municipio = atts.getValue(i);
	                        set_df_municipio(df_municipio);
	                    }
	                    if("noExterior".equals(valor)){
	                        String df_noExterior = atts.getValue(i);
	                        set_df_noExterior(df_noExterior);
	                    }
	                    if("noInterior".equals(valor)){
	                        String df_noInterior = atts.getValue(i);
	                        set_df_noInterior(df_noInterior);
	                    }
	                    if("pais".equals(valor)){
	                        String df_pais = atts.getValue(i);
	                        set_df_pais(df_pais);
	                    }
	                    if("referencia".equals(valor)){
	                        String df_referencia = atts.getValue(i);
	                        set_df_referencia(df_referencia);
	                    }
	                }
	            }

	            if ("ExpedidoEn".equals(qName)) {
	                for(int i=0; i < atts.getLength();i++){
	                    String valor = atts.getQName(i);
	                    if("calle".equals(valor)){
	                        String ee_calle = atts.getValue(i);
	                        set_ee_calle(ee_calle);
	                    }
	                    if("codigoPostal".equals(valor)){
	                        String ee_codigoPostal = atts.getValue(i);
	                        set_ee_codigoPostal(ee_codigoPostal);
	                    }
	                    if("colonia".equals(valor)){
	                        String ee_colonia = atts.getValue(i);
	                        set_ee_colonia(ee_colonia);
	                    }
	                    if("estado".equals(valor)){
	                        String ee_estado = atts.getValue(i);
	                        set_ee_estado(ee_estado);
	                    }
	                    if("localidad".equals(valor)){
	                        String ee_localidad = atts.getValue(i);
	                        set_ee_localidad(ee_localidad);
	                    }
	                    if("municipio".equals(valor)){
	                        String ee_municipio = atts.getValue(i);
	                        set_ee_municipio(ee_municipio);
	                    }
	                    if("noExterior".equals(valor)){
	                        String ee_noExterior = atts.getValue(i);
	                        set_ee_noExterior(ee_noExterior);
	                    }
	                    if("noInterior".equals(valor)){
	                        String ee_noInterior = atts.getValue(i);
	                        set_ee_noInterior(ee_noInterior);
	                    }
	                    if("pais".equals(valor)){
	                        String ee_pais = atts.getValue(i);
	                        set_ee_pais(ee_pais);
	                    }
	                    if("referencia".equals(valor)){
	                        String ee_referencia = atts.getValue(i);
	                        set_ee_referencia(ee_referencia);
	                    }
	                }
	            }

	            if ("Receptor".equals(qName)) {
	                for(int i=0; i < atts.getLength();i++){
	                    String valor = atts.getQName(i);
	                    if("nombre".equals(valor)){
	                        String nr_nombre = atts.getValue(i);
	                        set_nr_nombre(nr_nombre);
	                    }
	                    if("rfc".equals(valor)){
	                        String nr_rfc = atts.getValue(i);
	                        set_nr_rfc(nr_rfc);
	                    }
	                }
	            }

	            if ("Domicilio".equals(qName)) {
	                for(int i=0; i < atts.getLength();i++){
	                    String valor = atts.getQName(i);
	                    if("calle".equals(valor)){
	                        String nd_calle = atts.getValue(i);
	                        set_nd_calle(nd_calle);
	                    }
	                    if("codigoPostal".equals(valor)){
	                        String nd_codigoPostal = atts.getValue(i);
	                        set_nd_codigoPostal(nd_codigoPostal);
	                    }
	                    if("colonia".equals(valor)){
	                        String nd_colonia = atts.getValue(i);
	                        set_nd_colonia(nd_colonia);
	                    }
	                    if("estado".equals(valor)){
	                        String nd_estado = atts.getValue(i);
	                        set_nd_estado(nd_estado);
	                    }
	                    if("localidad".equals(valor)){
	                        String nd_localidad = atts.getValue(i);
	                        set_nd_localidad(nd_localidad);
	                    }
	                    if("municipio".equals(valor)){
	                        String nd_municipio = atts.getValue(i);
	                        set_nd_municipio(nd_municipio);
	                    }
	                    if("noExterior".equals(valor)){
	                        String nd_noExterior = atts.getValue(i);
	                        set_nd_noExterior(nd_noExterior);
	                    }
	                    if("noInterior".equals(valor)){
	                        String nd_noInterior = atts.getValue(i);
	                        set_nd_noInterior(nd_noInterior);
	                    }
	                    if("pais".equals(valor)){
	                        String nd_pais = atts.getValue(i);
	                        set_nd_pais(nd_pais);
	                    }
	                    if("referencia".equals(valor)){
	                        String nd_referencia = atts.getValue(i);
	                        set_nd_referencia(nd_referencia);
	                    }
	                }
	            }

	            if ("Concepto".equals(qName)) {
	                for(int i=0; i < atts.getLength();i++){
	                    String valor = atts.getQName(i);
	                    if("cantidad".equals(valor)){
	                        String nc_cantidad = atts.getValue(i);
	                        set_nc_cantidad(nc_cantidad);
	                    }

	                    if("descripcion".equals(valor)){
	                        String nc_descripcion = atts.getValue(i);
	                        set_nc_descripcion(nc_descripcion);
	                    }
	                    if("importe".equals(valor)){
	                        String nc_importe = atts.getValue(i);
	                        set_nc_importe(nc_importe);
	                    }
	                    if("noIdentificacion".equals(valor)){
	                        String nc_noIdentificacion = atts.getValue(i);
	                        set_nc_noIdentificacion(nc_noIdentificacion);
	                    }
	                    if("unidad".equals(valor)){
	                        String nc_unidad = atts.getValue(i);
	                        set_nc_unidad(nc_unidad);
	                    }
	                    if("valorUnitario".equals(valor)){
	                        String nc_valorUnitario = atts.getValue(i);
	                        set_nc_valorUnitario(nc_valorUnitario);
	                    }
	                }
	                set_concepto();
	            }

	             if ("Impuestos".equals(qName)) {
	                for(int i=0; i < atts.getLength();i++){
	                    String valor = atts.getQName(i);
	                    if("totalImpuestosRetenidos".equals(valor)){
	                        String totalImpuestosRetenidos = atts.getValue(i);
	                        set_totalImpuestosRetenidos(totalImpuestosRetenidos);
	                    }
	                    if("totalImpuestosTrasladados".equals(valor)){
	                        String totalImpuestosTrasladados = atts.getValue(i);
	                        set_totalImpuestosTrasladados(totalImpuestosTrasladados);
	                    }
	                }
	            }

	            if ("Retencion".equals(qName)) {
	                for(int i=0; i < atts.getLength();i++){
	                    String valor = atts.getQName(i);
	                    if("importe".equals(valor)){
	                        String nr_importe = atts.getValue(i);
	                        set_nr_importe(nr_importe);
	                    }
	                    if("impuesto".equals(valor)){
	                        String nr_impuesto = atts.getValue(i);
	                        set_nr_impuesto(nr_impuesto);
	                    }
	                }
	                set_retencion();
	            }

	            if ("Traslado".equals(qName)) {
	                for(int i=0; i < atts.getLength();i++){
	                    String valor = atts.getQName(i);
	                    if("importe".equals(valor)){
	                        String nt_importe = atts.getValue(i);
	                        set_nt_importe(nt_importe);
	                    }
	                    if("impuesto".equals(valor)){
	                        String nt_impuesto = atts.getValue(i);
	                        set_nt_impuesto(nt_impuesto);
	                    }
	                    if("tasa".equals(valor)){
	                        String nt_tasa = atts.getValue(i);
	                        set_nt_tasa(nt_tasa);
	                    }
	                }
	                set_traslado();
	            }
	        }
	    }

	    private void set_nc_version(String nc_version){
	        this.nc_version = nc_version;
	    }
	    public String get_nc_version(){
	        return nc_version;
	    }

	    private void set_nc_serie(String nc_serie){
	        this.nc_serie = nc_serie;
	    }
	    public String get_nc_serie(){
	        return nc_serie;
	    }

	    private void set_nc_folio(String nc_folio){
	        this.nc_folio = nc_folio;
	    }
	    public String get_nc_folio(){
	        return nc_folio;
	    }

	    private void set_nc_fecha(String nc_fecha){
	        this.nc_fecha = nc_fecha;
	    }
	    public String get_nc_fecha(){
	        return nc_fecha;
	    }

	    private void set_nc_noAprobacion(String nc_noAprobacion){
	        this.nc_noAprobacion = nc_noAprobacion;
	    }
	    public String get_nc_noAprobacion(){
	        return nc_noAprobacion;
	    }

	    private void set_nc_anioAprobacion(String nc_anioAprobacion){
	        this.nc_anioAprobacion = nc_anioAprobacion;
	    }
	    public String get_nc_anioAprobacion(){
	        return nc_anioAprobacion;
	    }

	    private void set_nc_tipoDeComprobante(String nc_tipoDeComprobante){
	        this.nc_tipoDeComprobante = nc_tipoDeComprobante;
	    }
	    public String get_nc_tipoDeComprobante(){
	        return nc_tipoDeComprobante;
	    }

	    private void set_nc_formaDePago(String nc_formaDePago){
	        this.nc_formaDePago = nc_formaDePago;
	    }
	    public String get_nc_formaDePago(){
	        return nc_formaDePago;
	    }

	    private void set_nc_condicionesDePago(String nc_condicionesDePago){
	        this.nc_condicionesDePago = nc_condicionesDePago;
	    }
	    public String get_nc_condicionesDePago(){
	        return nc_condicionesDePago;
	    }

	    private void set_nc_subTotal(String nc_subTotal){
	        this.nc_subTotal = nc_subTotal;
	    }
	    public String get_nc_subTotal(){
	        return nc_subTotal;
	    }

	    private void set_nc_descuento(String nc_descuento){
	        this.nc_descuento = nc_descuento;
	    }
	    public String get_nc_descuento(){
	        return nc_descuento;
	    }

	    private void set_nc_total(String nc_total){
	        this.nc_total = nc_total;
	    }
	    public String get_nc_total(){
	        return nc_total;
	    }

	    private void set_ne_rfc(String ne_rfc){
	        this.ne_rfc = ne_rfc;
	    }
	    public String get_ne_rfc(){
	        return ne_rfc;
	    }

	    private void set_ne_nombre(String ne_nombre){
	        this.ne_nombre = ne_nombre;
	    }
	    public String get_ne_nombre(){
	        return ne_nombre;
	    }

	    private void set_df_calle(String df_calle){
	        this.df_calle = df_calle;
	    }
	    public String get_df_calle(){
	        return df_calle;
	    }

	    private void set_df_noExterior(String df_noExterior){
	        this.df_noExterior = df_noExterior;
	    }
	    public String get_df_noExterior(){
	        return df_noExterior;
	    }

	    private void set_df_noInterior(String df_noInterior){
	        this.df_noInterior = df_noInterior;
	    }
	    public String get_df_noInterior(){
	        return df_noInterior;
	    }

	    private void set_df_colonia(String df_colonia){
	        this.df_colonia = df_colonia;
	    }
	    public String get_df_colonia(){
	        return df_colonia;
	    }

	    private void set_df_localidad(String df_localidad){
	        this.df_localidad = df_localidad;
	    }
	    public String get_df_localidad(){
	        return df_localidad;
	    }

	    private void set_df_referencia(String df_referencia){
	        this.df_referencia = df_referencia;
	    }
	    public String get_df_referencia(){
	        return df_referencia;
	    }

	    private void set_df_municipio(String df_municipio){
	        this.df_municipio = df_municipio;
	    }
	    public String get_df_municipio(){
	        return df_municipio;
	    }

	    private void set_df_estado(String df_estado){
	        this.df_estado = df_estado;
	    }
	    public String get_df_estado(){
	        return df_estado;
	    }

	    private void set_df_pais(String df_pais){
	        this.df_pais = df_pais;
	    }
	    public String get_df_pais(){
	        return df_pais;
	    }

	    private void set_df_codigoPostal(String df_codigoPostal){
	        this.df_codigoPostal = df_codigoPostal;
	    }
	    public String get_df_codigoPostal(){
	        return df_codigoPostal;
	    }

	    private void set_ee_calle(String ee_calle){
	        this.ee_calle = ee_calle;
	    }
	    public String get_ee_calle(){
	        return ee_calle;
	    }

	    private void set_ee_noExterior(String ee_noExterior){
	        this.ee_noExterior = ee_noExterior;
	    }
	    public String get_ee_noExterior(){
	        return ee_noExterior;
	    }

	    private void set_ee_noInterior(String ee_noInterior){
	        this.ee_noInterior = ee_noInterior;
	    }
	    public String get_ee_noInterior(){
	        return ee_noInterior;
	    }

	    private void set_ee_colonia(String ee_colonia){
	        this.ee_colonia = ee_colonia;
	    }
	    public String get_ee_colonia(){
	        return ee_colonia;
	    }

	    private void set_ee_localidad(String ee_localidad){
	        this.ee_localidad = ee_localidad;
	    }
	    public String get_ee_localidad(){
	        return ee_localidad;
	    }

	    private void set_ee_referencia(String ee_referencia){
	        this.ee_referencia = ee_referencia;
	    }
	    public String get_ee_referencia(){
	        return ee_referencia;
	    }

	    private void set_ee_municipio(String ee_municipio){
	        this.ee_municipio = ee_municipio;
	    }
	    public String get_ee_municipio(){
	        return ee_municipio;
	    }

	    private void set_ee_estado(String ee_estado){
	        this.ee_estado = ee_estado;
	    }
	    public String get_ee_estado(){
	        return ee_estado;
	    }

	    private void set_ee_pais(String ee_pais){
	        this.ee_pais = ee_pais;
	    }
	    public String get_ee_pais(){
	        return ee_pais;
	    }

	    private void set_ee_codigoPostal(String ee_codigoPostal){
	        this.ee_codigoPostal = ee_codigoPostal;
	    }
	    public String get_ee_codigoPostal(){
	        return ee_codigoPostal;
	    }

	    private void set_nr_rfc(String nr_rfc){
	        this.nr_rfc = nr_rfc;
	    }
	    public String get_nr_rfc(){
	        return nr_rfc;
	    }

	    private void set_nr_nombre(String nr_nombre){
	        this.nr_nombre = nr_nombre;
	    }
	    public String get_nr_nombre(){
	        return nr_nombre;
	    }

	    private void set_nd_calle(String nd_calle){
	        this.nd_calle = nd_calle;
	    }
	    public String get_nd_calle(){
	        return nd_calle;
	    }

	    private void set_nd_noExterior(String nd_noExterior){
	        this.nd_noExterior = nd_noExterior;
	    }
	    public String get_nd_noExterior(){
	        return nd_noExterior;
	    }

	    private void set_nd_noInterior(String nd_noInterior){
	        this.nd_noInterior = nd_noInterior;
	    }
	    public String get_nd_noInterior(){
	        return nd_noInterior;
	    }

	    private void set_nd_colonia(String nd_colonia){
	        this.nd_colonia = nd_colonia;
	    }
	    public String get_nd_colonia(){
	        return nd_colonia;
	    }

	    private void set_nd_localidad(String nd_localidad){
	        this.nd_localidad = nd_localidad;
	    }
	    public String get_nd_localidad(){
	        return nd_localidad;
	    }

	    private void set_nd_referencia(String nd_referencia){
	        this.nd_referencia = nd_referencia;
	    }
	    public String get_nd_referencia(){
	        return nd_referencia;
	    }

	    private void set_nd_municipio(String nd_municipio){
	        this.nd_municipio = nd_municipio;
	    }
	    public String get_nd_municipio(){
	        return nd_municipio;
	    }

	    private void set_nd_estado(String nd_estado){
	        this.nd_estado = nd_estado;
	    }
	    public String get_nd_estado(){
	        return nd_estado;
	    }

	    private void set_nd_pais(String nd_pais){
	        this.nd_pais = nd_pais;
	    }
	    public String get_nd_pais(){
	        return nd_pais;
	    }

	    private void set_nd_codigoPostal(String nd_codigoPostal){
	        this.nd_codigoPostal = nd_codigoPostal;
	    }
	    public String get_nd_codigoPostal(){
	        return nd_codigoPostal;
	    }

	    private void set_nc_cantidad(String nc_cantidad){
	        this.nc_cantidad = nc_cantidad;
	    }

	    private void set_nc_unidad(String nc_unidad){
	        this.nc_unidad = nc_unidad;
	    }

	    private void set_nc_noIdentificacion(String nc_noIdentificacion){
	        this.nc_noIdentificacion = nc_noIdentificacion;
	    }

	    private void set_nc_descripcion(String nc_descripcion){
	        this.nc_descripcion = nc_descripcion;
	    }

	    private void set_nc_valorUnitario(String nc_valorUnitario){
	        this.nc_valorUnitario = nc_valorUnitario;
	    }

	    private void set_nc_importe(String nc_importe){
	        this.nc_importe = nc_importe;
	    }

	    private void set_concepto(){
	        String conceptoN="";
	        conceptoN = nc_cantidad + "|" + nc_unidad  +"|" + nc_noIdentificacion + "|" + nc_descripcion + "|" + nc_valorUnitario + "|" + nc_importe;
	        this.concepto.add(conceptoN);
	        nc_cantidad = "";
	        nc_unidad = "";
	        nc_noIdentificacion = "";
	        nc_descripcion  = "";
	        nc_valorUnitario  = "";
	        nc_importe = "";
	    }

	    public String get_concepto(){
	        String conceptos = "";
	        Iterator it = concepto.iterator();
	        while (it.hasNext()){
	            conceptos += it.next() + "|";
	        }
	        return conceptos;
	    }

	    private void set_nr_impuesto(String nr_impuesto){
	        this.nr_impuesto = nr_impuesto;
	    }

	    private void set_nr_importe(String nr_importe){
	        this.nr_importe = nr_importe;
	    }

	    private void set_retencion(){
	        String retencionN="";
	        retencionN = nr_impuesto + "|" + nr_importe;
	        this.retencion.add(retencionN);
	        nr_impuesto = "";
	        nr_importe = "";
	    }

	    public String get_retencion(){
	        String retenciones = "";
	        Iterator it = retencion.iterator();
	        while (it.hasNext()){
	            retenciones += it.next() + "|";
	        }
	        return retenciones;
	    }

	    private void set_totalImpuestosRetenidos(String totalImpuestosRetenidos){
	        this.totalImpuestosRetenidos = totalImpuestosRetenidos;
	    }
	    public String get_totalImpuestosRetenidos(){
	        return totalImpuestosRetenidos;
	    }

	    private void set_nt_impuesto(String nt_impuesto){
	        this.nt_impuesto = nt_impuesto;
	    }

	    private void set_nt_tasa(String nt_tasa){
	        this.nt_tasa = nt_tasa;
	    }

	    private void set_nt_importe(String nt_importe){
	        this.nt_importe = nt_importe;
	    }

	    private void set_traslado(){
	        String trasladoN="";
	        trasladoN = nt_impuesto + "|" + nt_tasa + "|" + nt_importe;
	        this.traslado.add(trasladoN);
	        nt_impuesto = "";
	        nt_tasa = "";
	        nt_importe = "";
	    }

	    public String get_traslado(){
	        String traslados = "";
	        Iterator it = traslado.iterator();
	        while (it.hasNext()){
	            traslados += it.next() + "|";
	        }
	        return traslados;
	    }

	    private void set_totalImpuestosTrasladados(String totalImpuestosTrasladados){
	        this.totalImpuestosTrasladados = totalImpuestosTrasladados;
	    }

	    public String get_totalImpuestosTrasladados(){
	        return totalImpuestosTrasladados;
	    }

		public String getCadenaOriginal() {
			return ("||" + this.get_nc_version() + "|" + this.get_nc_serie() + "|" + this.get_nc_folio() + "|" + this.get_nc_fecha() + "|" + this.get_nc_noAprobacion() + "|"  + this.get_nc_anioAprobacion() + "|"  + this.get_nc_tipoDeComprobante() + "|"  + this.get_nc_formaDePago() + "|"  + this.get_nc_condicionesDePago() + "|"  + this.get_nc_subTotal() + "|"  + this.get_nc_descuento() + "|"  + this.get_nc_total() + "|"  + this.get_ne_rfc() + "|"  + this.get_ne_nombre() + "|"  + this.get_df_calle() + "|"  + this.get_df_noExterior() + "|"  + this.get_df_noInterior() + "|"  + this.get_df_colonia() + "|"  + this.get_df_localidad() + "|"  + this.get_df_referencia() + "|"  + this.get_df_municipio() + "|"  + this.get_df_estado() + "|"  + this.get_df_pais() + "|"  + this.get_df_codigoPostal() + "|"  + this.get_ee_calle() + "|"  + this.get_ee_noExterior() + "|"  + this.get_ee_noInterior() + "|"  + this.get_ee_colonia() + "|"  + this.get_ee_localidad() + "|"  + this.get_ee_referencia() + "|"  + this.get_ee_municipio() + "|"  + this.get_ee_estado() + "|"  + this.get_ee_pais() + "|"  + this.get_ee_codigoPostal() + "|"  + this.get_nr_rfc() + "|"  + this.get_nr_nombre() + "|"  + this.get_nd_calle() + "|"  + this.get_nd_noExterior() + "|"  + this.get_nd_noInterior() + "|"  + this.get_nd_colonia() + "|"  + this.get_nd_localidad() + "|"  + this.get_nd_referencia() + "|"  + this.get_nd_municipio() + "|"  + this.get_nd_estado() + "|"  + this.get_nd_pais() + "|"  + this.get_nd_codigoPostal() + "|"  + this.get_concepto()  + this.get_retencion()  + this.get_totalImpuestosRetenidos() + "|"  + this.get_traslado()  + this.get_totalImpuestosTrasladados() + "||");
		}
		public void set_nc_noCertificado(String nc_noCertificado) {
			this.nc_noCertificado = nc_noCertificado;
		}
		public String get_nc_noCertificado() {
			return nc_noCertificado;
		}

Comenta