2

XmlTextWriter用来序列化和持久化我的一些数据。我序列化的几个字段是基于用户输入的(例如用户名)。今天我用的WriteElementString方法XmlTextWriter

我的问题是:第二个参数WriteElementString是要写入的文本值。我怎样才能在写作之前对其进行消毒?

示例代码:

XmlTextWriter writer = new XmlTextWriter("filename.xml", null);

writer.WriteStartElement("User");
writer.WriteElementString("Username", inputUserName);
writer.WriteElementString("Email", inputEmail);
writer.WriteEndElement();

writer.Close();

变量inputUserNameinputEmail是用户输入的,我想在编写之前对它们进行清理/转义。

实现这一目标的最佳方法是什么?

4

2 回答 2

3

你到底需要什么才能逃离那里?WriteElementString将完成 XML 所需的所有转义(即&-> &amp;<->&lt;等)

于 2009-07-24T05:18:17.007 回答
-2

您可以将这些值作为CDATA保护,这将是您可以使用 xml 执行的最安全的操作。

在此之前,您应该通过RegEx或任何其他验证检查值。

于 2009-07-24T05:22:37.653 回答