Je cherche un moyen rapide de désérialiser XML, qui présente des caractères spéciaux comme ö.
J'utilisais xmlreader et il manque de désériorialze de tels personnages. P>
Toute suggestion? p>
EDIT: J'utilise c #.
Le code est comme suit: p>
3 Réponses :
[XmlElement(ElementName = "Profiles")]
//public ProfilesType[] Profiles { get; set; }
public Profiles Profiles { get; set; }
Tried something above?I haven't checked, but this sprang to mind. I managed to de+serialize Data that has åäö etc.
U are not talking about tagnames?
Comment cela va-t-il aider .. Je suis désolé ne vous a pas eu!
Comme <Årtal> 2011 Årtalal>, puis ellementName = "Årtal"
Malheureusement,
Je suppose que vous avez un problème de codage, pas dans le J'utilise personnellement les méthodes génériques de Follwing pour sérialiser et désérialiser XML et des objets et n'ont pas encore eu de problèmes de performance ou de codage. p> xmlreader code> mais avec le xmlSerializer code> .
Vous pouvez utiliser le xmltextwriter code> et utf8 codant avec le xmlSerializer code> Comme dans l'extrait suivant (voir les méthodes génériques ci-dessous pour une implémentation plus agréable de celui-ci). Fonctionne juste bien avec les UMLAUTS (¤Ã¶0) et d'autres caractères spéciaux em>.
Hmm. Enveloppez un flux dans un XMLTextwriter, puis écrivain. Basestream semble que vous pouviez simplement passer le flux sans le XMLTextWriter. Surtout depuis De déserialize, veut un xmlreader, pas un écrivain, si vous allez aller cette voie.
@Jessechisholm vous avez raison, cela a le sens total. J'ai également trouvé la mise en œuvre avec StreamReader Code> Un couple Ticks plus rapidement.
Qu'est-ce qui fonctionne pour moi est similaire à ce que @ Martin-Buberl a suggéré:
public static T DeserializeXmlToObject<T>(string xml)
{
using (MemoryStream memoryStream = new MemoryStream(Encoding.UTF8.GetBytes(xml)))
{
XmlSerializer xmlSerializer = new XmlSerializer(typeof(T));
StreamReader reader = new StreamReader(memoryStream, Encoding.UTF8);
return (T)xmlSerializer.Deserialize(reader);
}
}
Quelle langue / plateforme? Quel codage utilisez-vous? Pouvez-vous envoyer votre code?
désériorialisation? Tu veux dire analyser? Pour quelle langue / but est-ce?
Dans quel contexte les caractères apparaissent-ils? Est-ce réellement valide XML ou juste un xml-similaire?
Il est valide XML, il apparaît lorsque XML contient des caractères allemands / japonais
XMLreader traite tous les caractères, mais cela peut être un problème de codage. Pourriez-vous poster une reproduction complète et une trace complète de la pile aussi?