J'utilise XmlTextWriter
pour sérialiser et conserver certaines de mes données. Plusieurs des champs que je sérialise sont basés sur l'entrée de l'utilisateur (par exemple, le nom d'utilisateur). Aujourd'hui, j'utilise la méthode WriteElementString
de XmlTextWriter
.C#: Désinfecter les valeurs de texte XML avec XmlTextWriter?
Ma question est: le deuxième paramètre de WriteElementString
est la valeur de texte à écrire. Comment puis-je l'assainir avant d'écrire?
Un exemple de code:
XmlTextWriter writer = new XmlTextWriter("filename.xml", null);
writer.WriteStartElement("User");
writer.WriteElementString("Username", inputUserName);
writer.WriteElementString("Email", inputEmail);
writer.WriteEndElement();
writer.Close();
Les variables inputUserName
et inputEmail
sont entrées utilisateur, et je voudrais désinfectez/leur échapper avant l'écriture.
Quelle est la meilleure façon d'y parvenir?
Donc WriteElementString est complètement sûr? (Il est logique quand vous le dites, je ne savais pas que c'était le cas) –
Il est "sûr" dans un sens qu'il garantit que la sortie sera XML valide, et que lorsque vous le relirez, vous aurez obtenir la même chaîne. –