Comparar datos de un archivo TXT con un XML EN c#

Buen día.

Requiero leer un archivo TXT y comparar sus datos con un archivo XML.
El problema lo tengo al querer obtener los datos del archivo XML, ya que tengo dos Atributos con el mismo dato.
Es decir tengo el XML de esta manera

  <Empresas RFC="AAA010101AAA" RutaEmpresa="C:CompacEmpresasadEmpresa_Demo">
    <Conceptos Serie="NX001" Folio="0" Password="12345678a" > </Conceptos>
    <Conceptos Serie="MXN" Folio="0" Password="12345678a"></Conceptos>
  </Empresas>
  <Empresas RFC="AAA010101AAE" RutaEmpresa="C:CompacEmpresasadEmpresa_Demo2021">
    <Conceptos Serie="NX001" Folio="0" Password="12345678a"></Conceptos>
    <Conceptos Serie="MXN01" Folio="0" Password="12345678a"></Conceptos>
  </Empresas>

Tengo el archivo TXT de la siguiente manera:
TXT

00|AAA010101AAA
01|1447AA|Juan Perez|AAA010101AAA|I|FA|9|03/17/2020|04|PUE|Pago en una sola exhibicion|P01|NX001||

Entonces tengo mi código

         public static void AbreEmpresa(string startFolder)
    {
        List<string> Datos = LeerArchvioTXT(startFolder);
        Empresa() e = Empresa(startFolder);
        Cliente() cl = Cliente(startFolder);
        char separa = '|';
        string() DatosC;
        DatosC = Datos(1).Split(separa);
        string txtRFC = e(0).RFC;
        string txtSerie = DatosC(12);

        XmlDocument xmlRuta = new XmlDocument();
        xmlRuta.Load("C:\Users\Contpaqi\Documents\Visual Studio 2017\Proyects\Wednesday\Wednesday\Config.xml");
        XmlNodeList nodeEmpresa = xmlRuta.GetElementsByTagName("Empresas");

        foreach (XmlElement child in xmlRuta.SelectNodes("//Conceptos"))
        {
            string Serie = child.GetAttribute("Serie");
            foreach (XmlElement nodoEmpresa in nodeEmpresa)
            {
               
                string xEmpresa = nodoEmpresa.GetAttribute("RutaEmpresa");
                string xRFC = nodoEmpresa.GetAttribute("RFC");
                if (txtRFC == xRFC && txtSerie == Serie)
                {
                    int lError = 0;
                    lError = SDK.fAbreEmpresa(xEmpresa);
                    if (lError != 0)
                    {
                        SDK.rError(lError);
                    }
                    else
                    {
                        Console.WriteLine("Empresa abierta " + xEmpresa.ToString());
                    }
                }
            }
           
        }               
    }

El detalle esta que me abre la empresa 2 veces, porque en el atributo Serie existe el mismo dato en los RFC, he investigado varias manera de leer los atributos del XML pero me da el mismo resultado.
Es el único detalle que tengo, ya que ya cuento con la lectura de los datos del txt, el unico detalle es ese.
Cualquier ayuda o comentario para mejorar es bienvenido.