Persistênciae em XML e JTable

Boa noite, tenho uma tela de listagem e uma persistência que salva em xml meu problema e esse gostaria de listar os funcionarios salvos na minha persistência.
// persistência

public class Persistencia {
    private XStream xstream = new XStream(new DomDriver());
    private File arquivo = new File("banco.xml");



public void salvar(Banco b){

    String xml = xstream.toXML(b);


    try {
        if(arquivo.exists())
            arquivo.createNewFile();
        PrintWriter gravar = new PrintWriter(arquivo);
        gravar.print(xml);
        gravar.close();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

public Banco recuperar(){

    try {
        if(arquivo.exists()){
            FileInputStream fis = new FileInputStream(arquivo);
            return(Banco) xstream.fromXML(arquivo);
        }    
    } catch (FileNotFoundException e) {
    }

    return new Banco();

}

}

// Banco

public class Banco {

public ArrayList<Funcionario> getFuncionarios() {
    return funcionarios;
}

public void add(Funcionario f){
    funcionarios.add(f);
}

public void setFuncionarios(ArrayList<Funcionario> funcionarios) {
    this.funcionarios = funcionarios;
}

private ArrayList<Funcionario> funcionarios = new ArrayList<Funcionario>();



}

// e tela de listagem

public class ListaFuncionario extends TelaPadrao {

private DefaultTableModel modelo;
private JTable tabela;



public ListaFuncionario (){
    super("Mestre de Obras - Lista Func.");    
    //tabela
    Funcionario[] funcionarios = {new Funcionario()};
    
 modelo = new DefaultTableModel();
    tabela = new JTable(modelo);
    
    modelo.addColumn("Nome");
    modelo.addColumn("CPF");
    modelo.addColumn("Função");
    modelo.addColumn("Salario");
    Persistencia p = new Persistencia();
    Banco banco = new Banco();
    for (Funcionario func : funcionarios){
        Object[] linha = new Object[] {
                func.getNome(),
                func.getCPF(),
                func.getFuncao(),
                func.getSalario()
                
        };
        modelo.addRow(linha);
    }
    
    JScrollPane conteiner = new JScrollPane(tabela);
    conteiner.setBounds(30,150, 250, 150);
    add(conteiner);
    
    
    //botoes da tabela
    FlowLayout ger = new FlowLayout();
    JPanel pnButtons = new JPanel();
    pnButtons.setLayout(ger);
    JButton btEditar = new JButton("EDITAR");
    JButton btDemitir = new JButton("DEMITIR");
    JButton btSair = new JButton("SAIR");
    
    pnButtons.add(btEditar);
    pnButtons.add(btDemitir);
    pnButtons.add(btSair);
    
    add(pnButtons,BorderLayout.SOUTH);
    
    
}

public DefaultTableModel getModelo() {
    return modelo;
}


public void setModelo(DefaultTableModel modelo) {
    this.modelo = modelo;
}


public JTable getTabela() {
    return tabela;
}


public void setTabela(JTable tabela) {
    this.tabela = tabela;


}

}

gostaria que os nomes da persistência aparecessem nesta tela.