Estoy analizando algunos XML en C#. Lo obtengo de una base de datos y, por lo tanto, lo convierto en un MemoryStream antes de leerlo con un XmlTextReader. El problema es que recibo este error: Name cannot begin with the ' ' character, hexadecimal value 0x20. Line 1, position 3.
A continuación está mi XML y mi código para leerlo (está saliendo de la base de datos, no hay primer carácter en blanco). ¿Alguna sugerencia?El nombre no puede comenzar con el carácter ''
XML:
<? xml version="1.0" encoding="utf-8" ?>
<form>
<e order="0" type="custom" name="test">
<fi type="text" />
<o />
</e>
<e order="1" type="zip" />
<e order="2" type="state" />
</form>
C#:
byte[] byteArray = new byte[formXml.Length];
System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding();
byteArray = encoding.GetBytes(formXml);
MemoryStream xmlStream = new MemoryStream(byteArray);
XmlTextReader xmlReader = new XmlTextReader(xmlStream);
while (xmlReader.Read())
{
if (xmlReader.HasValue)
{
returnString += xmlReader.Depth.ToString();
}
}
pensé que podría ser la codificación, pero lo he intentado por UTF8 y ASCII y no puede encontrar nada.
BTW, a menos que todavía esté usando .NET 1.1, debe usar 'XmlReader.Create()' en lugar de 'new XmlTextReader()'. –
No permite caracteres especiales .. –