public static String getCaminhoSelecionado(boolean excluirUltimo) {
        TreePath tp = tree.getSelectionPath();
        String caminho = "raiz/";
        if (tp != null) {
            Object[] no = (Object[]) tp.getPath();
            //Monta a 'url' do elemento que está selecionado
            for (Object obj : no) {
                caminho += obj.toString() + "/";
            }
            // Se o último selecionado é um arquivo, retira o último elemento
            if (((XMLTreeNode) tp.getLastPathComponent()).getNodeName().equals(PainelDeControle.TAG_ARQUIVO) && excluirUltimo) {
                caminho = caminho.substring(0, caminho.length() - 1);
                caminho = caminho.substring(0, caminho.lastIndexOf("/"));
            }
        } else {
            JOptionPane.showMessageDialog(InterfaceUsuario.main, "Não há nenhum caminho selecionado.\nSelecione um elemento na árvore de hierarquia e tente novamente");
        }
        // Retira o nome da raiz, pois a função montaExpressao já inclui a raiz por padrão
        caminho = caminho.substring(caminho.indexOf("/") + 1, caminho.length());
        System.out.println("Caminho do item selecionado: " + caminho + ".");
        return caminho;
    }