我正在使用XmlTextWriter
序列化并保留部分数据。我序列化的几个字段基于用户输入(例如用户名)。今天我使用了WriteElementString
的{{1}}方法。
我的问题是:XmlTextWriter
的第二个参数是要写入的文本值。如何在写作之前对其进行消毒?
示例代码:
WriteElementString
变量XmlTextWriter writer = new XmlTextWriter("filename.xml", null);
writer.WriteStartElement("User");
writer.WriteElementString("Username", inputUserName);
writer.WriteElementString("Email", inputEmail);
writer.WriteEndElement();
writer.Close();
和inputUserName
是用户输入的,我想在写之前清理/转义它们。
实现这一目标的最佳方式是什么?
答案 0 :(得分:3)
你究竟需要逃离那里? WriteElementString
将完成XML所需的所有转义(即&
- > &
,<
- &gt; <
等等)
答案 1 :(得分:-2)
您可以将这些值安全地设置为使用xml最安全的CDATA。
之前,您应该通过RegEx
或任何其他验证来检查值。