El paso a paso o código que verás en este post es la resolución más eficiente y efectiva que hallamos a esta inquietud o dilema.
Solución:
El carácter oculto es probablemente BOM. La explicación del problema y la solución se pueden encontrar aquí, créditos a James Schubert, basados en una respuesta de James Brankin que se encuentra aquí.
Aunque la respuesta anterior elimina el carácter oculto, también elimina toda la primera línea. La versión más precisa sería:
string _byteOrderMarkUtf8 = Encoding.UTF8.GetString(Encoding.UTF8.GetPreamble());
if (xml.StartsWith(_byteOrderMarkUtf8))
xml = xml.Remove(0, _byteOrderMarkUtf8.Length);
Encontré este problema al obtener un archivo XSLT de un blob de Azure y cargarlo en un objeto XslCompiledTransform. En mi máquina, el archivo se veía bien, pero después de cargarlo como un blob y recuperarlo, se agregó el carácter BOM.
Utilizar Load()
en su lugar, resolverá el problema. Ver más
El problema aquí era que myString
tenía esa línea de encabezado. O había algún carácter oculto al comienzo de la primera línea o la línea misma estaba causando el error. Corté la primera línea así:
xml.LoadXml(myString.Substring(myString.IndexOf(Environment.NewLine)));
Esto resolvió mi problema.
Te invitamos a añadir valor a nuestro contenido informacional tributando tu experiencia en las crónicas.