Je suis en train d'analyser du code XML en C#. Je l'obtiens d'une base de données, et ainsi le convertissant en mémoireStream avant de le lire avec un XmlTextReader. Le problème est que j'obtiens cette erreur: Name cannot begin with the ' ' character, hexadecimal value 0x20. Line 1, position 3.
Voici mon XML et mon code pour le lire (ça sort de la base de données, pas de premier caractère vide). Aucune suggestion?Le nom ne peut pas commencer par le caractère ''
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();
}
}
Je pensais que ce pourrait être le codage, mais je l'ai essayé par UTF8 et ASCII et ne peut pas trouver quoi que ce soit.
BTW, sauf si vous utilisez encore .NET 1.1, vous devriez utiliser 'XmlReader.Create()' au lieu de 'new XmlTextReader()'. –
Il ne permet pas de caractère spécial .. –