/// <summary> /// Método que busca no arquivo o texto passado por referência e retorna uma lista explicando cada incidência da palavra em forma de xml /// </summary> /// <param name="textoParaBusca"></param> /// <param name="file"></param> /// <param name="mensagemErro"></param> /// <returns></returns> public static List <string> BuscaEmArquivo(string textoParaBusca, FileInfo file, ref string mensagemErro) { Util.CL_Files.WriteOnTheLog("DocumentSerach.BuscaEmArquivo", Util.Global.TipoLog.DETALHADO); CL_Files fileToRead = new CL_Files(file.FullName); mensagemErro = ""; List <string> texto_file = fileToRead.ReadArchive(ref mensagemErro); if (!string.IsNullOrEmpty(mensagemErro)) { return(null); } List <string> saida = new List <string>(); int linha_texto = 0; foreach (string texto in texto_file) { if (texto.ToUpper().Contains(textoParaBusca.ToUpper())) { StringBuilder saidaTexto = new StringBuilder(); saidaTexto.Append("\t<match>" + Environment.NewLine); saidaTexto.Append("\t\t<sentence>" + Environment.NewLine); saidaTexto.Append("\t\t\t" + textoParaBusca + Environment.NewLine); saidaTexto.Append("\t\t</sentence>" + Environment.NewLine); saidaTexto.Append("\t\t<file>" + Environment.NewLine); saidaTexto.Append("\t\t\t" + file.FullName + Environment.NewLine); saidaTexto.Append("\t\t</file>" + Environment.NewLine); saidaTexto.Append("\t\t<line>" + Environment.NewLine); saidaTexto.Append("\t\t\t" + linha_texto.ToString().Trim() + Environment.NewLine); saidaTexto.Append("\t\t</line>" + Environment.NewLine); saidaTexto.Append("\t\t<text>" + Environment.NewLine); saidaTexto.Append("\t\t\t" + texto + Environment.NewLine); saidaTexto.Append("\t\t</text>" + Environment.NewLine); saidaTexto.Append("\t</match>" + Environment.NewLine); saida.Add(saidaTexto.ToString()); } linha_texto++; } fileToRead = null; texto_file.Clear(); texto_file = null; return(saida); }